Example #1
0
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
Example #2
0
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
Example #3
0
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