a zeP'@sddlZddlZddlZddlZddlZddlZddlZddlZddl ZGdddej Z GdddZ Gddde ej Z ejejfdd ZGd d d e ej Zd ejZGd dde ej ZGddde ej ZedkredS)Nc@seZdZddZdS)TestEnsurePipVersioncCs|tjtdSN) assertEqual ensurepip _PIP_VERSIONversionselfr G/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_ensurepip.pytest_returns_versionsz)TestEnsurePipVersion.test_returns_versionN)__name__ __module__ __qualname__r r r r r r src@seZdZddZdS)EnsurepipMixincCsttjd}||_d|j_||jtj }tjd}|}||j||_ tj |_ tj |_ |_ dS)Nzensurepip._run_piprz ensurepip.os)unittestmockZpatchstartrun_pip return_valueZ addCleanupstoposdevnullpathenvironcopy os_environ)r Z run_pip_patchZ real_devnullZos_patchZ patched_osr r r setUps     zEnsurepipMixin.setUpN)r rrrr r r r rsrc@steZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZdS) TestBootstrapc CsPt|jddddtjjddgtjj|jjdd}|t |d dS Ninstall--no-cache-dir --no-index --find-links setuptoolspipr) r bootstraprassert_called_once_withrrANY call_argsrlen)r additional_pathsr r r test_basic_bootstrapping&s z&TestBootstrap.test_basic_bootstrappingc Cs8tjdd|jddddtjjdddd g tjjdS) Nz /foo/bar/)rootr r!r"r#z--rootr$r%rr(rr)rrr*rr r r test_bootstrapping_with_root4s  z*TestBootstrap.test_bootstrapping_with_rootc Cs6tjdd|jddddtjjddd gtjjdS) NT)userr r!r"r#z--userr$r%r0rr r r test_bootstrapping_with_user@s  z*TestBootstrap.test_bootstrapping_with_userc Cs6tjdd|jddddtjjddd gtjjdS) NT)Zupgrader r!r"r#z --upgrader$r%r0rr r r test_bootstrapping_with_upgradeKs  z-TestBootstrap.test_bootstrapping_with_upgradec Cs6tjdd|jddddtjjddd gtjjdS) Nr& verbosityr r!r"r#-vr$r%r0rr r r #test_bootstrapping_with_verbosity_1Vs  z1TestBootstrap.test_bootstrapping_with_verbosity_1c Cs6tjdd|jddddtjjddd gtjjdS) Nr'r5r r!r"r#-vvr$r%r0rr r r #test_bootstrapping_with_verbosity_2as  z1TestBootstrap.test_bootstrapping_with_verbosity_2c Cs6tjdd|jddddtjjddd gtjjdS) Nr5r r!r"r#-vvvr$r%r0rr r r #test_bootstrapping_with_verbosity_3ls  z1TestBootstrap.test_bootstrapping_with_verbosity_3cCst||jdddS)NENSUREPIP_OPTIONSr rr(rrrr r r 'test_bootstrapping_with_regular_installwsz5TestBootstrap.test_bootstrapping_with_regular_installcCs"tjdd||jdddS)NT) altinstallr>rAr?rr r r #test_bootstrapping_with_alt_install{s z1TestBootstrap.test_bootstrapping_with_alt_installcCstjdd|d|jdS)NT) default_pipr>)rr( assertNotInrrr r r #test_bootstrapping_with_default_pips z1TestBootstrap.test_bootstrapping_with_default_pipcCsJ|ttjdddWdn1s.0Y||jjdS)NT)rArC) assertRaises ValueErrorrr( assertFalsercalledrr r r $test_altinstall_default_pip_conflicts ,z2TestBootstrap.test_altinstall_default_pip_conflictcCs$d|jd<t|d|jdSNz test fodderZPIP_THIS_SHOULD_GO_AWAY)rrr(rDrr r r &test_pip_environment_variables_removeds z4TestBootstrap.test_pip_environment_variables_removedcCs t||jdtjdSNZPIP_CONFIG_FILE)rr(rrrrrr r r test_pip_config_file_disabledsz+TestBootstrap.test_pip_config_file_disabledN)r rrr.r1r3r4r8r:r=r@rBrErJrLrNr r r r r$s      rc #sdurd}nGfddd}|}t}tjd|}|tjd<z&|VW||ur`tjd=q|tjd<n||ur~tjd=n |tjd<0dS)NcseZdZZdS)zfake_pip..FakePipN)r rr __version__r rr r FakePipsrQr%)objectsysmodulesget)rr%rQsentinelZorig_pipr rPr fake_pips    rWc@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS) TestUninstallcCsBtdtWdn1s&0Y||jjdSr)rWr_uninstall_helperrHrrIrr r r )test_uninstall_skipped_when_not_installeds &z7TestUninstall.test_uninstall_skipped_when_not_installedc CstdBtj}tWdn1s20YWdn1sP0Y|}|d|| |j j dS)Nznot a valid versionz!only uninstall a matching version) rWtestsupportZcaptured_stderrrrYgetvaluestripZassertInrHrrI)r stderrwarningr r r 5test_uninstall_skipped_with_warning_for_wrong_versions   D  zCTestUninstall.test_uninstall_skipped_with_warning_for_wrong_versioncCsBttWdn1s$0Y|jgddS)N uninstall-y--disable-pip-version-checkr%r$rWrrYrr)rr r r test_uninstalls &zTestUninstall.test_uninstallcCsFttjddWdn1s(0Y|jgddS)Nr&r5)rcrdrer7r%r$rfrr r r test_uninstall_with_verbosity_1s *z-TestUninstall.test_uninstall_with_verbosity_1cCsFttjddWdn1s(0Y|jgddS)Nr'r5)rcrdrer9r%r$rfrr r r test_uninstall_with_verbosity_2s *z-TestUninstall.test_uninstall_with_verbosity_2cCsFttjddWdn1s(0Y|jgddS)Nr;r5)rcrdrer<r%r$rfrr r r test_uninstall_with_verbosity_3s *z-TestUninstall.test_uninstall_with_verbosity_3cCsJd|jd<ttWdn1s.0Y|d|jdSrK)rrWrrYrDrr r r rLs &z4TestUninstall.test_pip_environment_variables_removedcCsFttWdn1s$0Y||jdtjdSrM)rWrrYrrrrrr r r rNs&z+TestUninstall.test_pip_config_file_disabledN) r rrrZrargrhrirjrLrNr r r r rXs     rXzpip c@s$eZdZddZddZddZdS)TestBootstrappingMainFunctionc CstjF}|ttdgWdn1s80YWdn1sV0Y|}| |t | |j j dSNz --version)r[r\captured_stdoutrF SystemExitr_mainr]r^rEXPECTED_VERSION_OUTPUTrHrrIr stdoutresultr r r test_bootstrap_versions   H  z4TestBootstrappingMainFunction.test_bootstrap_versionc Cs^tg}|jddddtjjddgtjj|jjdd}|t |d ||ddSr) rrorr)rrr*r+rr,)r exit_coder-r r r r.s  z6TestBootstrappingMainFunction.test_basic_bootstrappingcCs"d|j_tg}||ddSNr')rrrrorr rur r r test_bootstrapping_error_codes z;TestBootstrappingMainFunction.test_bootstrapping_error_codeN)r rrrtr.rxr r r r rksrkc@s$eZdZddZddZddZdS)TestUninstallationMainFunctionc CstjH}|ttjdgWdn1s:0YWdn1sX0Y| }| |t | |j jdSrl)r[r\rmrFrnr _uninstallror]r^rrprHrrIrqr r r test_uninstall_versions   J  z5TestUninstallationMainFunction.test_uninstall_versioncCsRttjg}Wdn1s(0Y|jgd||ddS)Nrbr)rWrrzrorr)rrwr r r test_basic_uninstall!s *z3TestUninstallationMainFunction.test_basic_uninstallcCsJt$d|j_tjg}Wdn1s00Y||ddSrv)rWrrrrzrorrwr r r test_uninstall_error_code.s*z8TestUninstallationMainFunction.test_uninstall_error_codeN)r rrr{r|r}r r r r rys ry__main__)rZ unittest.mockZ test.supportr[rZos.path contextlibrSrZensurepip._uninstallZTestCaserrrcontextmanagerrrWrXrprkryr mainr r r r s&qN