a  ze@sdZddlZddlZddlZddlmZddlmZmZddl m Z ej eZej ej edZej eddZe eZe eZejd=e jeejd Z e jeejd Zd d Zdd d ZddZdddZddZej Z dS)z Support code for test_*.py filesNdedent)pytreerefactor)driverz..z Grammar.txtprint)convertcCstjt|ddS)NT)debug)r parse_stringreformatstringrI/opt/bitninja-python-dojo/embedded/lib/python3.9/lib2to3/tests/support.pyr sr cCs,|durt|}tjdd|dS)N) verbosity)unittestZ TestLoaderZloadTestsFromModuleZTextTestRunnerrun)Ztest_modZtestsrrr run_all_testssrcCs t|dS)Nz rr rrrr "sr lib2to3csB|durfdd|D}ntd}|p0i}tj||ddS)a  A convenience function for creating a RefactoringTool for tests. fixers is a list of fixers for the RefactoringTool to use. By default "lib2to3.fixes.*" is used. options is an optional dictionary of options to be passed to the RefactoringTool. Ncsg|]}d|qS)z .fixes.fix_r).0Zfix fixer_pkgrr .z"get_refactorer..z.fixesT)Zexplicit)rZget_fixers_from_packageZRefactoringTool)rZfixersoptionsrrrget_refactorer%s rccs>ttD].\}}}|D]}|drtj||Vqq dS)Nz.py)oswalkproj_direndswithpathjoin)dirpathdirnames filenamesfilenamerrrall_project_files4s r')NN)rNN)!__doc__rrZos.pathtextwraprrrrZ lib2to3.pgen2rZ pgen2_driverr!dirname__file__Ztest_dirnormpathr"rZ grammar_pathZ load_grammarZgrammarZgrammar_no_print_statementkeywordsZDriverrZdriver_no_print_statementr rr rr'ZTestCaserrrrs.