a  zeM @sddlZddlmZedZedZddlZddlmZ ddl Z ej Gdddej Z Gd d d e Zejeeed \ZZGd d d e Zejeeed \ZZedkre dS)N)util importlibzimportlib.machinery)supportc@sPeZdZdZddZddZeej j dddZ eej j dd d Z d S) CaseSensitivityTestZMoDuLecCs(|j||jj|jjf|jj|jjfSN) machinery FileFinderSourceFileLoaderSOURCE_SUFFIXESSourcelessFileLoaderBYTECODE_SUFFIXES)selfpathrd/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_importlib/source/test_case_sensitivity.pyfinderszCaseSensitivityTest.finderc Csd|j}d|j}t||}|\}tj|dd}tj|dd}||}||}| || |fWdS1s0YdS)Nz sensitive.{0}zinsensitive.{0}z.root sensitive insensitive) formatnamelowerrZcreate_modulesosrjoinrfind) rZ sensitive_pkgZinsensitive_pkgcontextmappingZsensitive_pathZinsensitive_pathZsensitive_finderZinsensitive_finderrrrsensitivity_tests    z$CaseSensitivityTest.sensitivity_testzignore_environment flag was setcCsxt\}|d|jdd|\}}||||j||j| |Wdn1sj0YdS)N PYTHONCASEOKFZ should_exist) test_supportEnvironmentVarGuardZunsetcaseok_env_changedrassertIsNotNoneassertInr get_filenameZ assertIsNonerenvrrrrrtest_sensitive+s     z"CaseSensitivityTest.test_sensitivecCstt}|dd|jdd|\}}||||j||j||||j||jWdn1s0YdS)Nr1Tr) r r!setr"rr#r$rr%r&rrrtest_insensitive5s      z$CaseSensitivityTest.test_insensitiveN) __name__ __module__ __qualname__rrrunittestZskipIfsysflagsignore_environmentr(r+rrrrrs  rc@seZdZddZdS)CaseSensitivityTestPEP302cCs ||jSr) find_moduler)rrrrrrBszCaseSensitivityTestPEP302.findNr,r-r.rrrrrr3Asr3)rrc@seZdZddZdS)CaseSensitivityTestPEP451cCs||j}|dur|jS|Sr) find_specrloader)rrfoundrrrrMs zCaseSensitivityTestPEP451.findNr5rrrrr6Lsr6__main__)r0rZimport_importlibrrrtestrr r/Zcase_insensitive_testsZCASEOKTestBaserr3Z test_bothZ Frozen_CaseSensitivityTestPEP302Z Source_CaseSensitivityTestPEP302r6Z Frozen_CaseSensitivityTestPEP451Z Source_CaseSensitivityTestPEP451r,mainrrrrs,    2