def test_esky_bundle_mscrvt(): setup, options, new_script = esky_setup('Simple Working', WORKING_SCRIPT) # setup(**options) new_script2 = make_new_script_name('testing_patching.py') insert_code(new_script2, 'import sys', 'import os', 'versiondir = os.path.dirname(sys.executable)', 'for nm in os.listdir(versiondir):', ' if nm.startswith("Microsoft.") and nm.endswith(".CRT"):', ' msvcrt_dir = os.path.join(versiondir,nm)', ' assert os.path.isdir(msvcrt_dir)', ' assert len(os.listdir(msvcrt_dir)) >= 2', ' break', 'else:', ' assert False, "MSVCRT not bundled in version dir "+versiondir') options2 = copy.deepcopy(options) options2['options']['bdist_esky']['bundle_msvcrt'] = True options2['scripts'] = [new_script2] # options2['script_args'] = ['bdist_esky_patch'] options2['version'] = '2.0' setup(**options2) # esky_zip_name = 'Simple Working-0.2.win32.zip' esky_zip_name = get_zip_name(options2) clean_exit, stderr = run_script(new_script2, freezer='esky', zip_name=esky_zip_name) assert clean_exit
def test_multiple_runs_of_setup_function(): '''make sure our fixes support multiple runs ''' from esky.bdist_esky import Executable setup, options, new_script = esky_setup('Simple Working', WORKING_SCRIPT) new_script2 = make_new_script_name('test_multiple_working.py') insert_code(new_script2,'import sys') options2 = copy.deepcopy(options) options2['scripts'] = [new_script2] options2['version'] = '0.2' esky_zip_name = get_zip_name(options2) # Now test that freeze future works as well cleanup_dirs() setup(**options) clean_exit, stderr = run_script(new_script, freezer='esky') assert clean_exit # only works if we cleanup dirs.. same as original esky cleanup_dirs() setup(**options2) if os.name == 'nt': platform = get_platform() esky_zip_name = 'Simple Working-0.2.%s.zip' % platform clean_exit, stderr = run_script(new_script2, freezer='esky', zip_name=esky_zip_name) assert clean_exit
def test_esky_bdist_esky_patch_command(): '''this test is overkill just need to make sure patch command returns esky''' # TODO this made it clear i need to force the selection of freezer rather trying than smart detect it setup, options, new_script = esky_setup('Simple Working', WORKING_SCRIPT) setup(**options) new_script2 = make_new_script_name('testing_patching.py') insert_code(new_script2,'import sys') options2 = copy.deepcopy(options) options2['scripts'] = [new_script2] options2['script_args'] = ['bdist_esky_patch'] options2['version'] = '0.2' setup(**options2) esky_zip_name = get_zip_name(options2) clean_exit, stderr = run_script(new_script2, freezer='esky', zip_name=esky_zip_name) assert clean_exit