Exemplo n.º 1
0
    def setUpClass(cls):
        kill_child_processes()

        env=os.environ.copy()
        pp = os.path.dirname(os.path.dirname(py2app.__file__))
        env['TMPDIR'] = os.getcwd()
        if 'PYTHONPATH' in env:
            env['PYTHONPATH'] = pp + ':' + env['PYTHONPATH']
        else:
            env['PYTHONPATH'] = pp

        if 'LANG' not in env:
            # Ensure that testing though SSH works
            env['LANG'] = 'en_US.UTF-8'

        p = subprocess.Popen([
                sys.executable ] + cls.python_args + [
                    'setup.py', 'py2app'] + cls.py2app_args,
            cwd = cls.app_dir,
            stdout=subprocess.PIPE,
            stderr=subprocess.STDOUT,
            close_fds=False,
            env=env
            )
        lines = p.communicate()[0]
        if p.wait() != 0:
            print (lines)
            raise AssertionError("Creating basic_app bundle failed")

        cls.checksums = make_checksums(
                os.path.join(cls.app_dir, 'dist/BasicApp.app'))
Exemplo n.º 2
0
    def setUpClass(cls):
        kill_child_processes()

        try:
            if os.path.exists(cls.plugin_dir):
                shutil.rmtree(cls.plugin_dir)

            assert not os.path.exists(cls.plugin_dir)
            shutil.copytree(TestBasicPlugin.plugin_dir, cls.plugin_dir)

            super(TestBasicPluginUnicodePath, cls).setUpClass()

        except:
            if os.path.exists(cls.plugin_dir):
                shutil.rmtree(cls.plugin_dir)
            raise
Exemplo n.º 3
0
    def setUpClass(cls):
        kill_child_processes()

        env = os.environ.copy()
        pp = os.path.dirname(os.path.dirname(py2app.__file__))
        env['TMPDIR'] = os.getcwd()
        if 'PYTHONPATH' in env:
            env['PYTHONPATH'] = pp + ':' + env['PYTHONPATH']
        else:
            env['PYTHONPATH'] = pp

        p = subprocess.Popen([sys.executable, 'setup.py', 'py2app'] +
                             cls.py2app_args,
                             cwd=cls.app_dir,
                             stdout=subprocess.PIPE,
                             stderr=subprocess.STDOUT,
                             close_fds=False,
                             env=env)
        lines = p.communicate()[0]
        if p.wait() != 0:
            print(lines)
            raise AssertionError("Creating basic_app bundle failed")
Exemplo n.º 4
0
 def tearDown(self):
     kill_child_processes()
     time.sleep(1)
Exemplo n.º 5
0
 def tearDown(self):
     shutil.rmtree(self.testdir)
     kill_child_processes()
Exemplo n.º 6
0
    def setUpClass(cls):
        kill_child_processes()

        try:
            if os.path.exists(os.path.join(cls.plugin_dir, 'build')):
                shutil.rmtree(os.path.join(cls.plugin_dir, 'build'))

            if os.path.exists(os.path.join(cls.plugin_dir, 'dist')):
                shutil.rmtree(os.path.join(cls.plugin_dir, 'dist'))

            cmd = [sys.executable, 'setup.py', 'py2app'] + cls.py2app_args

            env = os.environ.copy()
            env['TMPDIR'] = os.getcwd()
            pp = os.path.dirname(os.path.dirname(py2app.__file__))
            if 'PYTHONPATH' in env:
                env['PYTHONPATH'] = pp + ':' + env['PYTHONPATH']
            else:
                env['PYTHONPATH'] = pp

            if 'LANG' not in env:
                env['LANG'] = 'en_US.UTF-8'

            p = subprocess.Popen(cmd,
                                 cwd=cls.plugin_dir,
                                 stdout=subprocess.PIPE,
                                 stderr=subprocess.STDOUT,
                                 close_fds=False,
                                 env=env)
            lines = p.communicate()[0]
            if p.wait() != 0:
                print(lines)
                try:
                    os.waitpid(0, 0)
                except os.error:
                    pass
                raise AssertionError("Creating basic_plugin bundle failed")

            p = subprocess.Popen(['xcode-select', '-print-path'],
                                 stdout=subprocess.PIPE)
            lines = p.communicate()[0]
            xit = p.wait()
            if p.wait() != 0:
                try:
                    os.waitpid(0, 0)
                except os.error:
                    pass
                raise AssertionError("Fetching Xcode root failed")

            root = lines.strip()
            if sys.version_info[0] != 2:
                root = root.decode('utf-8')

            if LooseVersion(platform.mac_ver()[0]) < LooseVersion('10.7'):
                cc = [get_config_var('CC')]
                env = dict(os.environ)
                env['MACOSX_DEPLOYMENT_TARGET'] = get_config_var(
                    'MACOSX_DEPLOYMENT_TARGET')
            else:
                cc = ['xcrun', 'clang']
                env = dict(os.environ)

            cflags = get_config_var('CFLAGS').split()
            ldflags = get_config_var('LDFLAGS').split()
            if LooseVersion(platform.mac_ver()[0]) >= LooseVersion('10.14'):
                for idx, val in enumerate(cflags):
                    if val == '-arch' and cflags[idx + 1] == 'i386':
                        del cflags[idx + 1]
                        del cflags[idx]
                        break

                for idx, val in enumerate(ldflags):
                    if val == '-arch' and ldflags[idx + 1] == 'i386':
                        del ldflags[idx + 1]
                        del ldflags[idx]
                        break

            p = subprocess.Popen(cc + ldflags + cflags + [
                '-o', 'bundle_loader',
                os.path.join(DIR_NAME, 'bundle_loader.m'), '-framework',
                'Foundation'
            ],
                                 env=env,
                                 stdout=subprocess.PIPE,
                                 stderr=subprocess.STDOUT,
                                 close_fds=False)
            lines = p.communicate()[0]
            if p.wait() != 0:
                print(lines)
                try:
                    os.waitpid(0, 0)
                except os.error:
                    pass
                raise AssertionError("Creating bundle_loader failed")

            try:
                os.waitpid(0, 0)
            except os.error:
                pass

        except:
            cls.tearDownClass()
            raise