eZ'˼Dt r d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z ddl mZ ddlm Z ddlmZmZmZmZmZ ddlmZmZ d Z G d d Z G d d Z G d d Z G d de Z G d de Z G d de Z G d de Z G d de ZdS )z) Tests for L{pyflakes.scripts.pyflakes}. N)PYPY)UnusedImport)Reporter)maincheck checkPathcheckRecursiveiterSourceCode)TestCaseskipIfc t j | c}t _ ||i ||t _ S # |t _ w xY w)z? Call C{f} with C{sys.stderr} redirected to C{stderr}. )sysstderr)r fargskwargsouters h/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pyflakes/test/test_api.pywithStderrTor sG :vUCJq$!&!! U s / =c e Zd ZdZddZdS )Nodez Mock an AST node. r c " || _ || _ d S N)lineno col_offset)selfr r s r __init__z Node.__init__) s $ N)r )__name__ __module____qualname____doc__r r r r r % s2 % % % % % %r r c $ e Zd ZdZd Zd Zd ZdS )SysStreamCapturingzContext manager capturing sys.stdin, sys.stdout and sys.stderr. The file handles are replaced with a StringIO object. c T t j |pdt j | _ d S )N newline)ioStringIOoslinesep_stdin)r stdins r r zSysStreamCapturing.__init__4 s" k%+2rzBBBr c N t j | _ t j | _ t j | _ | j t _ t j t j xt _ | _ t j t j xt _ | _ | S )Nr( )r r/ _orig_stdinstdout_orig_stdoutr _orig_stderrr. r* r+ r, r- _stdout_stringio_stderr_stringior s r __enter__zSysStreamCapturing.__enter__7 sj 9JJK -/[-L-L-LL T*-/[-L-L-LL T*r c | j | _ | j | _ | j t _ | j t _ | j t _ d S r )r5 getvalueoutputr6 errorr1 r r/ r3 r2 r4 r )r r s r __exit__zSysStreamCapturing.__exit__B sP +4466*3355 $ & & r N)r r r! r" r r8 r= r# r r r% r% . sN C C C ' ' ' ' 'r r% c * e Zd ZdZd Zd Zd Zd ZdS )LoggingReporterzK Implementation of Reporter that just appends any error to a list. c || _ dS )zh Construct a C{LoggingReporter}. @param log: A list to append log messages to. N)log)r rA s r r zLoggingReporter.__init__P s r c X | j dt | f d S )Nflake)rA appendstr)r messages r rC zLoggingReporter.flakeX s' #g,,/00000r c @ | j d||f d S )NunexpectedErrorrA rD )r filenamerF s r rH zLoggingReporter.unexpectedError[ s$ *Hg>?????r c F | j d|||||f d S )NsyntaxErrorrI )r rJ msgr offsetlines r rL zLoggingReporter.syntaxError^ s) #vvtLMMMMMr N)r r r! r" r rC rH rL r# r r r? r? K sb 1 1 1@ @ @N N N N Nr r? c N e Zd ZdZd Zd Zd Zd Zd Zd Z d Z d Zd Zd Z dS ) TestIterSourceCodez& Tests for L{iterSourceCode}. c 6 t j | _ d S r )tempfilemkdtemptempdirr7 s r setUpzTestIterSourceCode.setUpg s '))r c 8 t j | j d S r shutilrmtreerU r7 s r tearDownzTestIterSourceCode.tearDownj dl#####r c |sJ t j j | j g|R }t |d |S )Na)r, pathjoinrU openclose)r partsfpaths r makeEmptyFilez TestIterSourceCode.makeEmptyFilem sG uT\2E222UC r c r | t t | j g g dS )zB There are no Python files in an empty directory. N)assertEquallistr rU r7 s r test_emptyDirectoryz&TestIterSourceCode.test_emptyDirectorys