o
    µ+kea  ã                   @   s¨  d dl Z d dlZddlmZ dd„ Zej dg ddgf‘ddgf‘d	g d
¢f‘dg d¢f‘ddgf‘ddgf‘ddgf‘ddgf‘ddgf‘ddgf‘ddgf‘ddgf‘dg d¢f‘ddgf‘ddgf‘ddgf‘ddgf‘ddgf‘ddgf‘ddgf‘dd gf‘dd!gf‘dd"gf‘dd#gf‘dd$gf‘dd%gf‘dd&gf‘dd'gf‘d(d'gf‘d)d'gf‘d*d+gf‘d,d+gf‘d-d+gf‘dd.gf‘d/d.gf‘d0d.gf‘d1d2gf‘d3d4gf‘d5d4gf‘d6d7gf‘d8d8d9gf‘d:d;gf‘d<d=gf‘d>d?gf‘d@d?gf‘¡dAdB„ ƒZej dddCdDgfddEgfddFgfddGgfdHdIgfddgfddgfddJgfddKgfddLgfdd'gfddMgfddNgfd<d4gfd3d=gfd5d=gfg¡dOdP„ ƒZdQdR„ Z	dS )Sé    Né   )Úshellpatternc                 C   s   t  t |¡¡}t| | ¡ƒS ©N)ÚreÚcompiler   Ú	translateÚboolÚmatch)ÚpathÚpatternÚcompiled© r   ú?usr/lib/python3.10/site-packages/borg/testsuite/shellpattern.pyÚcheck   s   r   zpath, patternszfoo/barzfoo\baru   foo/c/Å’/e/bar)u   foo/*/Å’/*/baru
   */*/Å’/*/*u	   **/Å’/*/*õ   Ã¤Ã¶Ãœ)ú???Ú*r   u   [Ã¤][Ã¶][Ãœ]Zfoozfo?zf?ozf??z?ooz?o?z??or   Ú r   )r   ú**z***zfoo*Zfoobarzfoo*barZ	foobarbazzfoo*bazZbarz*barzfoo/*barzfoo/*arzfoo/*rzfoo/*zfoo*/barzfo*/barzf*/barz*/barz
foo/**/barz	foo/1/barzfoo/1/22/333/barzfoo/zfoo/**/zfoo/1/zfoo/1/22/333/z**/barz1/barz1/22/333/barzfoo/bar/bazzfoo/**/*Zfoo1zfoo[12]Zfoo2zfoo2/barz	foo[12]/*zf??fzf[?][?]fzfoo]zfoo[]]Zfoo3zfoo[!12]zfoo^zfoo[^!]zfoo!c                 C   s   |D ]	}t | |ƒsJ ‚qd S r   ©r   ©r
   ÚpatternsÚpr   r   r   Ú
test_match   s   =ÿr   ú?z[]zfoo?z?foozf?oozfoo/arzfoo?arzfoo*arzfo*barzfo*arr   z**/c                 C   s   |D ]	}t | |ƒrJ ‚qd S r   r   r   r   r   r   Útest_mismatchO   s   !ÿr   c                  C   sd   t  d¡} t | d¡sJ ‚t | d¡rJ ‚dd }t jd|d} t | d¡s(J ‚t | d¡s0J ‚d S )Nz*-homez2017-07-03-homez2017-07-03-home.checkpointz(%s)?\Zz\.checkpoint(\.\d+)?)Ú	match_end)r   r   r   r	   )Úregexr   r   r   r   Útest_match_endt   s   
r   )
r   Zpytestr   r   r   ZmarkZparametrizer   r   r   r   r   r   r   Ú<module>   sè    
þý
ú
ù
öõôóòñðí
ìëêéèçæåäãâá à!ß"Þ%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò1Ï2Î3Í
4Ì5Ë8È9Ç:Æ
<
â
 