From 04387deeab820e75c6d37d2ddd5b514cb7bcfd9e Mon Sep 17 00:00:00 2001 From: Pavel Aharoni Date: Sun, 11 Jun 2017 14:33:57 +0300 Subject: [SDC-32] separate Tosca Parser from DC Change-Id: I7e7f31ff2bd92fec22031f75b7051d129a21d01b Signed-off-by: Pavel Aharoni --- .../Lib/site-packages/setuptools/tests/__init__.py | 323 ------------- .../Lib/site-packages/setuptools/tests/contexts.py | 85 ---- .../site-packages/setuptools/tests/environment.py | 60 --- .../Lib/site-packages/setuptools/tests/fixtures.py | 27 -- .../site-packages/setuptools/tests/py26compat.py | 14 - .../setuptools/tests/script-with-bom.py | 3 - .../Lib/site-packages/setuptools/tests/server.py | 65 --- .../setuptools/tests/test_bdist_egg.py | 43 -- .../setuptools/tests/test_build_ext.py | 18 - .../site-packages/setuptools/tests/test_develop.py | 103 ---- .../setuptools/tests/test_dist_info.py | 70 --- .../setuptools/tests/test_easy_install.py | 524 --------------------- .../setuptools/tests/test_egg_info.py | 98 ---- .../setuptools/tests/test_find_packages.py | 170 ------- .../setuptools/tests/test_integration.py | 99 ---- .../setuptools/tests/test_markerlib.py | 63 --- .../setuptools/tests/test_msvc9compiler.py | 179 ------- .../setuptools/tests/test_packageindex.py | 203 -------- .../site-packages/setuptools/tests/test_sandbox.py | 102 ---- .../site-packages/setuptools/tests/test_sdist.py | 419 ---------------- .../site-packages/setuptools/tests/test_test.py | 91 ---- .../setuptools/tests/test_upload_docs.py | 59 --- .../setuptools/tests/test_windows_wrappers.py | 183 ------- .../Lib/site-packages/setuptools/tests/textwrap.py | 8 - 24 files changed, 3009 deletions(-) delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/__init__.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/contexts.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/environment.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/fixtures.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/py26compat.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/script-with-bom.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/server.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_bdist_egg.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_build_ext.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_develop.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_dist_info.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_easy_install.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_egg_info.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_find_packages.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_integration.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_markerlib.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_msvc9compiler.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_packageindex.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_sandbox.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_sdist.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_test.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_upload_docs.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_windows_wrappers.py delete mode 100644 jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/textwrap.py (limited to 'jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests') diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/__init__.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/__init__.py deleted file mode 100644 index b8a29cb..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/__init__.py +++ /dev/null @@ -1,323 +0,0 @@ -"""Tests for the 'setuptools' package""" -import sys -import os -import distutils.core -import distutils.cmd -from distutils.errors import DistutilsOptionError, DistutilsPlatformError -from distutils.errors import DistutilsSetupError -from distutils.core import Extension -from distutils.version import LooseVersion -from setuptools.compat import func_code - -import pytest - -import setuptools.dist -import setuptools.depends as dep -from setuptools import Feature -from setuptools.depends import Require - -def makeSetup(**args): - """Return distribution from 'setup(**args)', without executing commands""" - - distutils.core._setup_stop_after = "commandline" - - # Don't let system command line leak into tests! - args.setdefault('script_args',['install']) - - try: - return setuptools.setup(**args) - finally: - distutils.core._setup_stop_after = None - - -needs_bytecode = pytest.mark.skipif( - not hasattr(dep, 'get_module_constant'), - reason="bytecode support not available", -) - -class TestDepends: - - def testExtractConst(self): - if not hasattr(dep, 'extract_constant'): - # skip on non-bytecode platforms - return - - def f1(): - global x, y, z - x = "test" - y = z - - fc = func_code(f1) - - # unrecognized name - assert dep.extract_constant(fc,'q', -1) is None - - # constant assigned - dep.extract_constant(fc,'x', -1) == "test" - - # expression assigned - dep.extract_constant(fc,'y', -1) == -1 - - # recognized name, not assigned - dep.extract_constant(fc,'z', -1) is None - - def testFindModule(self): - with pytest.raises(ImportError): - dep.find_module('no-such.-thing') - with pytest.raises(ImportError): - dep.find_module('setuptools.non-existent') - f,p,i = dep.find_module('setuptools.tests') - f.close() - - @needs_bytecode - def testModuleExtract(self): - from email import __version__ - assert dep.get_module_constant('email','__version__') == __version__ - assert dep.get_module_constant('sys','version') == sys.version - assert dep.get_module_constant('setuptools.tests','__doc__') == __doc__ - - @needs_bytecode - def testRequire(self): - req = Require('Email','1.0.3','email') - - assert req.name == 'Email' - assert req.module == 'email' - assert req.requested_version == '1.0.3' - assert req.attribute == '__version__' - assert req.full_name() == 'Email-1.0.3' - - from email import __version__ - assert req.get_version() == __version__ - assert req.version_ok('1.0.9') - assert not req.version_ok('0.9.1') - assert not req.version_ok('unknown') - - assert req.is_present() - assert req.is_current() - - req = Require('Email 3000','03000','email',format=LooseVersion) - assert req.is_present() - assert not req.is_current() - assert not req.version_ok('unknown') - - req = Require('Do-what-I-mean','1.0','d-w-i-m') - assert not req.is_present() - assert not req.is_current() - - req = Require('Tests', None, 'tests', homepage="http://example.com") - assert req.format is None - assert req.attribute is None - assert req.requested_version is None - assert req.full_name() == 'Tests' - assert req.homepage == 'http://example.com' - - paths = [os.path.dirname(p) for p in __path__] - assert req.is_present(paths) - assert req.is_current(paths) - - -class TestDistro: - - def setup_method(self, method): - self.e1 = Extension('bar.ext',['bar.c']) - self.e2 = Extension('c.y', ['y.c']) - - self.dist = makeSetup( - packages=['a', 'a.b', 'a.b.c', 'b', 'c'], - py_modules=['b.d','x'], - ext_modules = (self.e1, self.e2), - package_dir = {}, - ) - - def testDistroType(self): - assert isinstance(self.dist,setuptools.dist.Distribution) - - def testExcludePackage(self): - self.dist.exclude_package('a') - assert self.dist.packages == ['b','c'] - - self.dist.exclude_package('b') - assert self.dist.packages == ['c'] - assert self.dist.py_modules == ['x'] - assert self.dist.ext_modules == [self.e1, self.e2] - - self.dist.exclude_package('c') - assert self.dist.packages == [] - assert self.dist.py_modules == ['x'] - assert self.dist.ext_modules == [self.e1] - - # test removals from unspecified options - makeSetup().exclude_package('x') - - def testIncludeExclude(self): - # remove an extension - self.dist.exclude(ext_modules=[self.e1]) - assert self.dist.ext_modules == [self.e2] - - # add it back in - self.dist.include(ext_modules=[self.e1]) - assert self.dist.ext_modules == [self.e2, self.e1] - - # should not add duplicate - self.dist.include(ext_modules=[self.e1]) - assert self.dist.ext_modules == [self.e2, self.e1] - - def testExcludePackages(self): - self.dist.exclude(packages=['c','b','a']) - assert self.dist.packages == [] - assert self.dist.py_modules == ['x'] - assert self.dist.ext_modules == [self.e1] - - def testEmpty(self): - dist = makeSetup() - dist.include(packages=['a'], py_modules=['b'], ext_modules=[self.e2]) - dist = makeSetup() - dist.exclude(packages=['a'], py_modules=['b'], ext_modules=[self.e2]) - - def testContents(self): - assert self.dist.has_contents_for('a') - self.dist.exclude_package('a') - assert not self.dist.has_contents_for('a') - - assert self.dist.has_contents_for('b') - self.dist.exclude_package('b') - assert not self.dist.has_contents_for('b') - - assert self.dist.has_contents_for('c') - self.dist.exclude_package('c') - assert not self.dist.has_contents_for('c') - - def testInvalidIncludeExclude(self): - with pytest.raises(DistutilsSetupError): - self.dist.include(nonexistent_option='x') - with pytest.raises(DistutilsSetupError): - self.dist.exclude(nonexistent_option='x') - with pytest.raises(DistutilsSetupError): - self.dist.include(packages={'x':'y'}) - with pytest.raises(DistutilsSetupError): - self.dist.exclude(packages={'x':'y'}) - with pytest.raises(DistutilsSetupError): - self.dist.include(ext_modules={'x':'y'}) - with pytest.raises(DistutilsSetupError): - self.dist.exclude(ext_modules={'x':'y'}) - - with pytest.raises(DistutilsSetupError): - self.dist.include(package_dir=['q']) - with pytest.raises(DistutilsSetupError): - self.dist.exclude(package_dir=['q']) - - -class TestFeatures: - - def setup_method(self, method): - self.req = Require('Distutils','1.0.3','distutils') - self.dist = makeSetup( - features={ - 'foo': Feature("foo",standard=True,require_features=['baz',self.req]), - 'bar': Feature("bar", standard=True, packages=['pkg.bar'], - py_modules=['bar_et'], remove=['bar.ext'], - ), - 'baz': Feature( - "baz", optional=False, packages=['pkg.baz'], - scripts = ['scripts/baz_it'], - libraries=[('libfoo','foo/foofoo.c')] - ), - 'dwim': Feature("DWIM", available=False, remove='bazish'), - }, - script_args=['--without-bar', 'install'], - packages = ['pkg.bar', 'pkg.foo'], - py_modules = ['bar_et', 'bazish'], - ext_modules = [Extension('bar.ext',['bar.c'])] - ) - - def testDefaults(self): - assert not Feature( - "test",standard=True,remove='x',available=False - ).include_by_default() - assert Feature("test",standard=True,remove='x').include_by_default() - # Feature must have either kwargs, removes, or require_features - with pytest.raises(DistutilsSetupError): - Feature("test") - - def testAvailability(self): - with pytest.raises(DistutilsPlatformError): - self.dist.features['dwim'].include_in(self.dist) - - def testFeatureOptions(self): - dist = self.dist - assert ( - ('with-dwim',None,'include DWIM') in dist.feature_options - ) - assert ( - ('without-dwim',None,'exclude DWIM (default)') in dist.feature_options - ) - assert ( - ('with-bar',None,'include bar (default)') in dist.feature_options - ) - assert ( - ('without-bar',None,'exclude bar') in dist.feature_options - ) - assert dist.feature_negopt['without-foo'] == 'with-foo' - assert dist.feature_negopt['without-bar'] == 'with-bar' - assert dist.feature_negopt['without-dwim'] == 'with-dwim' - assert (not 'without-baz' in dist.feature_negopt) - - def testUseFeatures(self): - dist = self.dist - assert dist.with_foo == 1 - assert dist.with_bar == 0 - assert dist.with_baz == 1 - assert (not 'bar_et' in dist.py_modules) - assert (not 'pkg.bar' in dist.packages) - assert ('pkg.baz' in dist.packages) - assert ('scripts/baz_it' in dist.scripts) - assert (('libfoo','foo/foofoo.c') in dist.libraries) - assert dist.ext_modules == [] - assert dist.require_features == [self.req] - - # If we ask for bar, it should fail because we explicitly disabled - # it on the command line - with pytest.raises(DistutilsOptionError): - dist.include_feature('bar') - - def testFeatureWithInvalidRemove(self): - with pytest.raises(SystemExit): - makeSetup(features={'x':Feature('x', remove='y')}) - -class TestCommandTests: - - def testTestIsCommand(self): - test_cmd = makeSetup().get_command_obj('test') - assert (isinstance(test_cmd, distutils.cmd.Command)) - - def testLongOptSuiteWNoDefault(self): - ts1 = makeSetup(script_args=['test','--test-suite=foo.tests.suite']) - ts1 = ts1.get_command_obj('test') - ts1.ensure_finalized() - assert ts1.test_suite == 'foo.tests.suite' - - def testDefaultSuite(self): - ts2 = makeSetup(test_suite='bar.tests.suite').get_command_obj('test') - ts2.ensure_finalized() - assert ts2.test_suite == 'bar.tests.suite' - - def testDefaultWModuleOnCmdLine(self): - ts3 = makeSetup( - test_suite='bar.tests', - script_args=['test','-m','foo.tests'] - ).get_command_obj('test') - ts3.ensure_finalized() - assert ts3.test_module == 'foo.tests' - assert ts3.test_suite == 'foo.tests.test_suite' - - def testConflictingOptions(self): - ts4 = makeSetup( - script_args=['test','-m','bar.tests', '-s','foo.tests.suite'] - ).get_command_obj('test') - with pytest.raises(DistutilsOptionError): - ts4.ensure_finalized() - - def testNoSuite(self): - ts5 = makeSetup().get_command_obj('test') - ts5.ensure_finalized() - assert ts5.test_suite == None diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/contexts.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/contexts.py deleted file mode 100644 index 1d29284..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/contexts.py +++ /dev/null @@ -1,85 +0,0 @@ -import tempfile -import os -import shutil -import sys -import contextlib -import site - -from ..compat import StringIO - - -@contextlib.contextmanager -def tempdir(cd=lambda dir:None, **kwargs): - temp_dir = tempfile.mkdtemp(**kwargs) - orig_dir = os.getcwd() - try: - cd(temp_dir) - yield temp_dir - finally: - cd(orig_dir) - shutil.rmtree(temp_dir) - - -@contextlib.contextmanager -def environment(**replacements): - """ - In a context, patch the environment with replacements. Pass None values - to clear the values. - """ - saved = dict( - (key, os.environ[key]) - for key in replacements - if key in os.environ - ) - - # remove values that are null - remove = (key for (key, value) in replacements.items() if value is None) - for key in list(remove): - os.environ.pop(key, None) - replacements.pop(key) - - os.environ.update(replacements) - - try: - yield saved - finally: - for key in replacements: - os.environ.pop(key, None) - os.environ.update(saved) - - -@contextlib.contextmanager -def quiet(): - """ - Redirect stdout/stderr to StringIO objects to prevent console output from - distutils commands. - """ - - old_stdout = sys.stdout - old_stderr = sys.stderr - new_stdout = sys.stdout = StringIO() - new_stderr = sys.stderr = StringIO() - try: - yield new_stdout, new_stderr - finally: - new_stdout.seek(0) - new_stderr.seek(0) - sys.stdout = old_stdout - sys.stderr = old_stderr - - -@contextlib.contextmanager -def save_user_site_setting(): - saved = site.ENABLE_USER_SITE - try: - yield saved - finally: - site.ENABLE_USER_SITE = saved - - -@contextlib.contextmanager -def suppress_exceptions(*excs): - try: - yield - except excs: - pass diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/environment.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/environment.py deleted file mode 100644 index a23c050..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/environment.py +++ /dev/null @@ -1,60 +0,0 @@ -import os -import sys -import unicodedata - -from subprocess import Popen as _Popen, PIPE as _PIPE - - -def _which_dirs(cmd): - result = set() - for path in os.environ.get('PATH', '').split(os.pathsep): - filename = os.path.join(path, cmd) - if os.access(filename, os.X_OK): - result.add(path) - return result - - -def run_setup_py(cmd, pypath=None, path=None, - data_stream=0, env=None): - """ - Execution command for tests, separate from those used by the - code directly to prevent accidental behavior issues - """ - if env is None: - env = dict() - for envname in os.environ: - env[envname] = os.environ[envname] - - #override the python path if needed - if pypath is not None: - env["PYTHONPATH"] = pypath - - #overide the execution path if needed - if path is not None: - env["PATH"] = path - if not env.get("PATH", ""): - env["PATH"] = _which_dirs("tar").union(_which_dirs("gzip")) - env["PATH"] = os.pathsep.join(env["PATH"]) - - cmd = [sys.executable, "setup.py"] + list(cmd) - - # http://bugs.python.org/issue8557 - shell = sys.platform == 'win32' - - try: - proc = _Popen( - cmd, stdout=_PIPE, stderr=_PIPE, shell=shell, env=env, - ) - - data = proc.communicate()[data_stream] - except OSError: - return 1, '' - - #decode the console string if needed - if hasattr(data, "decode"): - # use the default encoding - data = data.decode() - data = unicodedata.normalize('NFC', data) - - #communciate calls wait() - return proc.returncode, data diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/fixtures.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/fixtures.py deleted file mode 100644 index c70c38c..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/fixtures.py +++ /dev/null @@ -1,27 +0,0 @@ -try: - from unittest import mock -except ImportError: - import mock -import pytest - -from . import contexts - - -@pytest.yield_fixture -def user_override(): - """ - Override site.USER_BASE and site.USER_SITE with temporary directories in - a context. - """ - with contexts.tempdir() as user_base: - with mock.patch('site.USER_BASE', user_base): - with contexts.tempdir() as user_site: - with mock.patch('site.USER_SITE', user_site): - with contexts.save_user_site_setting(): - yield - - -@pytest.yield_fixture -def tmpdir_cwd(tmpdir): - with tmpdir.as_cwd() as orig: - yield orig diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/py26compat.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/py26compat.py deleted file mode 100644 index c568088..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/py26compat.py +++ /dev/null @@ -1,14 +0,0 @@ -import sys -import tarfile -import contextlib - -def _tarfile_open_ex(*args, **kwargs): - """ - Extend result as a context manager. - """ - return contextlib.closing(tarfile.open(*args, **kwargs)) - -if sys.version_info[:2] < (2, 7) or (3, 0) <= sys.version_info[:2] < (3, 2): - tarfile_open = _tarfile_open_ex -else: - tarfile_open = tarfile.open diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/script-with-bom.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/script-with-bom.py deleted file mode 100644 index 22dee0d..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/script-with-bom.py +++ /dev/null @@ -1,3 +0,0 @@ -# -*- coding: utf-8 -*- - -result = 'passed' diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/server.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/server.py deleted file mode 100644 index 6b21427..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/server.py +++ /dev/null @@ -1,65 +0,0 @@ -"""Basic http server for tests to simulate PyPI or custom indexes -""" - -import time -import threading -from setuptools.compat import BaseHTTPRequestHandler -from setuptools.compat import HTTPServer, SimpleHTTPRequestHandler - -class IndexServer(HTTPServer): - """Basic single-threaded http server simulating a package index - - You can use this server in unittest like this:: - s = IndexServer() - s.start() - index_url = s.base_url() + 'mytestindex' - # do some test requests to the index - # The index files should be located in setuptools/tests/indexes - s.stop() - """ - def __init__(self, server_address=('', 0), - RequestHandlerClass=SimpleHTTPRequestHandler): - HTTPServer.__init__(self, server_address, RequestHandlerClass) - self._run = True - - def start(self): - self.thread = threading.Thread(target=self.serve_forever) - self.thread.start() - - def stop(self): - "Stop the server" - - # Let the server finish the last request and wait for a new one. - time.sleep(0.1) - - self.shutdown() - self.thread.join() - self.socket.close() - - def base_url(self): - port = self.server_port - return 'http://127.0.0.1:%s/setuptools/tests/indexes/' % port - -class RequestRecorder(BaseHTTPRequestHandler): - def do_GET(self): - requests = vars(self.server).setdefault('requests', []) - requests.append(self) - self.send_response(200, 'OK') - -class MockServer(HTTPServer, threading.Thread): - """ - A simple HTTP Server that records the requests made to it. - """ - def __init__(self, server_address=('', 0), - RequestHandlerClass=RequestRecorder): - HTTPServer.__init__(self, server_address, RequestHandlerClass) - threading.Thread.__init__(self) - self.setDaemon(True) - self.requests = [] - - def run(self): - self.serve_forever() - - @property - def url(self): - return 'http://localhost:%(server_port)s/' % vars(self) diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_bdist_egg.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_bdist_egg.py deleted file mode 100644 index ccfb2ea..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_bdist_egg.py +++ /dev/null @@ -1,43 +0,0 @@ -"""develop tests -""" -import os -import re - -import pytest - -from setuptools.dist import Distribution - -from . import contexts - -SETUP_PY = """\ -from setuptools import setup - -setup(name='foo', py_modules=['hi']) -""" - -@pytest.yield_fixture -def setup_context(tmpdir): - with (tmpdir/'setup.py').open('w') as f: - f.write(SETUP_PY) - with (tmpdir/'hi.py').open('w') as f: - f.write('1\n') - with tmpdir.as_cwd(): - yield tmpdir - - -class Test: - def test_bdist_egg(self, setup_context, user_override): - dist = Distribution(dict( - script_name='setup.py', - script_args=['bdist_egg'], - name='foo', - py_modules=['hi'] - )) - os.makedirs(os.path.join('build', 'src')) - with contexts.quiet(): - dist.parse_command_line() - dist.run_commands() - - # let's see if we got our egg link at the right place - [content] = os.listdir('dist') - assert re.match('foo-0.0.0-py[23].\d.egg$', content) diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_build_ext.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_build_ext.py deleted file mode 100644 index 0719ba4..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_build_ext.py +++ /dev/null @@ -1,18 +0,0 @@ -import distutils.command.build_ext as orig - -from setuptools.command.build_ext import build_ext -from setuptools.dist import Distribution - -class TestBuildExt: - def test_get_ext_filename(self): - """ - Setuptools needs to give back the same - result as distutils, even if the fullname - is not in ext_map. - """ - dist = Distribution() - cmd = build_ext(dist) - cmd.ext_map['foo/bar'] = '' - res = cmd.get_ext_filename('foo') - wanted = orig.build_ext.get_ext_filename(cmd, 'foo') - assert res == wanted diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_develop.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_develop.py deleted file mode 100644 index ed1b194..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_develop.py +++ /dev/null @@ -1,103 +0,0 @@ -"""develop tests -""" -import os -import shutil -import site -import sys -import tempfile - -from setuptools.command.develop import develop -from setuptools.dist import Distribution - -SETUP_PY = """\ -from setuptools import setup - -setup(name='foo', - packages=['foo'], - use_2to3=True, -) -""" - -INIT_PY = """print "foo" -""" - -class TestDevelopTest: - - def setup_method(self, method): - if hasattr(sys, 'real_prefix'): - return - - # Directory structure - self.dir = tempfile.mkdtemp() - os.mkdir(os.path.join(self.dir, 'foo')) - # setup.py - setup = os.path.join(self.dir, 'setup.py') - f = open(setup, 'w') - f.write(SETUP_PY) - f.close() - self.old_cwd = os.getcwd() - # foo/__init__.py - init = os.path.join(self.dir, 'foo', '__init__.py') - f = open(init, 'w') - f.write(INIT_PY) - f.close() - - os.chdir(self.dir) - self.old_base = site.USER_BASE - site.USER_BASE = tempfile.mkdtemp() - self.old_site = site.USER_SITE - site.USER_SITE = tempfile.mkdtemp() - - def teardown_method(self, method): - if hasattr(sys, 'real_prefix') or (hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix): - return - - os.chdir(self.old_cwd) - shutil.rmtree(self.dir) - shutil.rmtree(site.USER_BASE) - shutil.rmtree(site.USER_SITE) - site.USER_BASE = self.old_base - site.USER_SITE = self.old_site - - def test_develop(self): - if hasattr(sys, 'real_prefix'): - return - dist = Distribution( - dict(name='foo', - packages=['foo'], - use_2to3=True, - version='0.0', - )) - dist.script_name = 'setup.py' - cmd = develop(dist) - cmd.user = 1 - cmd.ensure_finalized() - cmd.install_dir = site.USER_SITE - cmd.user = 1 - old_stdout = sys.stdout - #sys.stdout = StringIO() - try: - cmd.run() - finally: - sys.stdout = old_stdout - - # let's see if we got our egg link at the right place - content = os.listdir(site.USER_SITE) - content.sort() - assert content == ['easy-install.pth', 'foo.egg-link'] - - # Check that we are using the right code. - egg_link_file = open(os.path.join(site.USER_SITE, 'foo.egg-link'), 'rt') - try: - path = egg_link_file.read().split()[0].strip() - finally: - egg_link_file.close() - init_file = open(os.path.join(path, 'foo', '__init__.py'), 'rt') - try: - init = init_file.read().strip() - finally: - init_file.close() - if sys.version < "3": - assert init == 'print "foo"' - else: - assert init == 'print("foo")' diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_dist_info.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_dist_info.py deleted file mode 100644 index 6d0ab58..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_dist_info.py +++ /dev/null @@ -1,70 +0,0 @@ -"""Test .dist-info style distributions. -""" -import os -import shutil -import tempfile - -import pytest - -import pkg_resources -from .textwrap import DALS - - -class TestDistInfo: - - def test_distinfo(self): - dists = dict( - (d.project_name, d) - for d in pkg_resources.find_distributions(self.tmpdir) - ) - - assert len(dists) == 2, dists - - unversioned = dists['UnversionedDistribution'] - versioned = dists['VersionedDistribution'] - - assert versioned.version == '2.718' # from filename - assert unversioned.version == '0.3' # from METADATA - - @pytest.mark.importorskip('ast') - def test_conditional_dependencies(self): - specs = 'splort==4', 'quux>=1.1' - requires = list(map(pkg_resources.Requirement.parse, specs)) - - for d in pkg_resources.find_distributions(self.tmpdir): - assert d.requires() == requires[:1] - assert d.requires(extras=('baz',)) == requires - assert d.extras == ['baz'] - - metadata_template = DALS(""" - Metadata-Version: 1.2 - Name: {name} - {version} - Requires-Dist: splort (==4) - Provides-Extra: baz - Requires-Dist: quux (>=1.1); extra == 'baz' - """) - - def setup_method(self, method): - self.tmpdir = tempfile.mkdtemp() - dist_info_name = 'VersionedDistribution-2.718.dist-info' - versioned = os.path.join(self.tmpdir, dist_info_name) - os.mkdir(versioned) - with open(os.path.join(versioned, 'METADATA'), 'w+') as metadata_file: - metadata = self.metadata_template.format( - name='VersionedDistribution', - version='', - ).replace('\n\n', '\n') - metadata_file.write(metadata) - dist_info_name = 'UnversionedDistribution.dist-info' - unversioned = os.path.join(self.tmpdir, dist_info_name) - os.mkdir(unversioned) - with open(os.path.join(unversioned, 'METADATA'), 'w+') as metadata_file: - metadata = self.metadata_template.format( - name='UnversionedDistribution', - version='Version: 0.3', - ) - metadata_file.write(metadata) - - def teardown_method(self, method): - shutil.rmtree(self.tmpdir) diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_easy_install.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_easy_install.py deleted file mode 100644 index e71bbfc..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_easy_install.py +++ /dev/null @@ -1,524 +0,0 @@ -# -*- coding: utf-8 -*- - -"""Easy install Tests -""" -from __future__ import absolute_import - -import sys -import os -import shutil -import tempfile -import site -import contextlib -import tarfile -import logging -import itertools -import distutils.errors - -import pytest -try: - from unittest import mock -except ImportError: - import mock - -from setuptools import sandbox -from setuptools import compat -from setuptools.compat import StringIO, BytesIO, urlparse -from setuptools.sandbox import run_setup -import setuptools.command.easy_install as ei -from setuptools.command.easy_install import PthDistributions -from setuptools.command import easy_install as easy_install_pkg -from setuptools.dist import Distribution -from pkg_resources import working_set -from pkg_resources import Distribution as PRDistribution -import setuptools.tests.server -import pkg_resources - -from .py26compat import tarfile_open -from . import contexts -from .textwrap import DALS - - -class FakeDist(object): - def get_entry_map(self, group): - if group != 'console_scripts': - return {} - return {'name': 'ep'} - - def as_requirement(self): - return 'spec' - -SETUP_PY = DALS(""" - from setuptools import setup - - setup(name='foo') - """) - -class TestEasyInstallTest: - - def test_install_site_py(self): - dist = Distribution() - cmd = ei.easy_install(dist) - cmd.sitepy_installed = False - cmd.install_dir = tempfile.mkdtemp() - try: - cmd.install_site_py() - sitepy = os.path.join(cmd.install_dir, 'site.py') - assert os.path.exists(sitepy) - finally: - shutil.rmtree(cmd.install_dir) - - def test_get_script_args(self): - header = ei.CommandSpec.best().from_environment().as_header() - expected = header + DALS(""" - # EASY-INSTALL-ENTRY-SCRIPT: 'spec','console_scripts','name' - __requires__ = 'spec' - import sys - from pkg_resources import load_entry_point - - if __name__ == '__main__': - sys.exit( - load_entry_point('spec', 'console_scripts', 'name')() - ) - """) - dist = FakeDist() - - args = next(ei.ScriptWriter.get_args(dist)) - name, script = itertools.islice(args, 2) - - assert script == expected - - def test_no_find_links(self): - # new option '--no-find-links', that blocks find-links added at - # the project level - dist = Distribution() - cmd = ei.easy_install(dist) - cmd.check_pth_processing = lambda: True - cmd.no_find_links = True - cmd.find_links = ['link1', 'link2'] - cmd.install_dir = os.path.join(tempfile.mkdtemp(), 'ok') - cmd.args = ['ok'] - cmd.ensure_finalized() - assert cmd.package_index.scanned_urls == {} - - # let's try without it (default behavior) - cmd = ei.easy_install(dist) - cmd.check_pth_processing = lambda: True - cmd.find_links = ['link1', 'link2'] - cmd.install_dir = os.path.join(tempfile.mkdtemp(), 'ok') - cmd.args = ['ok'] - cmd.ensure_finalized() - keys = sorted(cmd.package_index.scanned_urls.keys()) - assert keys == ['link1', 'link2'] - - def test_write_exception(self): - """ - Test that `cant_write_to_target` is rendered as a DistutilsError. - """ - dist = Distribution() - cmd = ei.easy_install(dist) - cmd.install_dir = os.getcwd() - with pytest.raises(distutils.errors.DistutilsError): - cmd.cant_write_to_target() - - -class TestPTHFileWriter: - def test_add_from_cwd_site_sets_dirty(self): - '''a pth file manager should set dirty - if a distribution is in site but also the cwd - ''' - pth = PthDistributions('does-not_exist', [os.getcwd()]) - assert not pth.dirty - pth.add(PRDistribution(os.getcwd())) - assert pth.dirty - - def test_add_from_site_is_ignored(self): - location = '/test/location/does-not-have-to-exist' - # PthDistributions expects all locations to be normalized - location = pkg_resources.normalize_path(location) - pth = PthDistributions('does-not_exist', [location, ]) - assert not pth.dirty - pth.add(PRDistribution(location)) - assert not pth.dirty - - -@pytest.yield_fixture -def setup_context(tmpdir): - with (tmpdir/'setup.py').open('w') as f: - f.write(SETUP_PY) - with tmpdir.as_cwd(): - yield tmpdir - - -@pytest.mark.usefixtures("user_override") -@pytest.mark.usefixtures("setup_context") -class TestUserInstallTest: - - # prevent check that site-packages is writable. easy_install - # shouldn't be writing to system site-packages during finalize - # options, but while it does, bypass the behavior. - prev_sp_write = mock.patch( - 'setuptools.command.easy_install.easy_install.check_site_dir', - mock.Mock(), - ) - - # simulate setuptools installed in user site packages - @mock.patch('setuptools.command.easy_install.__file__', site.USER_SITE) - @mock.patch('site.ENABLE_USER_SITE', True) - @prev_sp_write - def test_user_install_not_implied_user_site_enabled(self): - self.assert_not_user_site() - - @mock.patch('site.ENABLE_USER_SITE', False) - @prev_sp_write - def test_user_install_not_implied_user_site_disabled(self): - self.assert_not_user_site() - - @staticmethod - def assert_not_user_site(): - # create a finalized easy_install command - dist = Distribution() - dist.script_name = 'setup.py' - cmd = ei.easy_install(dist) - cmd.args = ['py'] - cmd.ensure_finalized() - assert not cmd.user, 'user should not be implied' - - def test_multiproc_atexit(self): - pytest.importorskip('multiprocessing') - - log = logging.getLogger('test_easy_install') - logging.basicConfig(level=logging.INFO, stream=sys.stderr) - log.info('this should not break') - - @pytest.fixture() - def foo_package(self, tmpdir): - egg_file = tmpdir / 'foo-1.0.egg-info' - with egg_file.open('w') as f: - f.write('Name: foo\n') - return str(tmpdir) - - @pytest.yield_fixture() - def install_target(self, tmpdir): - target = str(tmpdir) - with mock.patch('sys.path', sys.path + [target]): - python_path = os.path.pathsep.join(sys.path) - with mock.patch.dict(os.environ, PYTHONPATH=python_path): - yield target - - def test_local_index(self, foo_package, install_target): - """ - The local index must be used when easy_install locates installed - packages. - """ - dist = Distribution() - dist.script_name = 'setup.py' - cmd = ei.easy_install(dist) - cmd.install_dir = install_target - cmd.args = ['foo'] - cmd.ensure_finalized() - cmd.local_index.scan([foo_package]) - res = cmd.easy_install('foo') - actual = os.path.normcase(os.path.realpath(res.location)) - expected = os.path.normcase(os.path.realpath(foo_package)) - assert actual == expected - - @contextlib.contextmanager - def user_install_setup_context(self, *args, **kwargs): - """ - Wrap sandbox.setup_context to patch easy_install in that context to - appear as user-installed. - """ - with self.orig_context(*args, **kwargs): - import setuptools.command.easy_install as ei - ei.__file__ = site.USER_SITE - yield - - def patched_setup_context(self): - self.orig_context = sandbox.setup_context - - return mock.patch( - 'setuptools.sandbox.setup_context', - self.user_install_setup_context, - ) - - -@pytest.yield_fixture -def distutils_package(): - distutils_setup_py = SETUP_PY.replace( - 'from setuptools import setup', - 'from distutils.core import setup', - ) - with contexts.tempdir(cd=os.chdir): - with open('setup.py', 'w') as f: - f.write(distutils_setup_py) - yield - - -class TestDistutilsPackage: - def test_bdist_egg_available_on_distutils_pkg(self, distutils_package): - run_setup('setup.py', ['bdist_egg']) - - -class TestSetupRequires: - - def test_setup_requires_honors_fetch_params(self): - """ - When easy_install installs a source distribution which specifies - setup_requires, it should honor the fetch parameters (such as - allow-hosts, index-url, and find-links). - """ - # set up a server which will simulate an alternate package index. - p_index = setuptools.tests.server.MockServer() - p_index.start() - netloc = 1 - p_index_loc = urlparse(p_index.url)[netloc] - if p_index_loc.endswith(':0'): - # Some platforms (Jython) don't find a port to which to bind, - # so skip this test for them. - return - with contexts.quiet(): - # create an sdist that has a build-time dependency. - with TestSetupRequires.create_sdist() as dist_file: - with contexts.tempdir() as temp_install_dir: - with contexts.environment(PYTHONPATH=temp_install_dir): - ei_params = [ - '--index-url', p_index.url, - '--allow-hosts', p_index_loc, - '--exclude-scripts', - '--install-dir', temp_install_dir, - dist_file, - ] - with sandbox.save_argv(['easy_install']): - # attempt to install the dist. It should fail because - # it doesn't exist. - with pytest.raises(SystemExit): - easy_install_pkg.main(ei_params) - # there should have been two or three requests to the server - # (three happens on Python 3.3a) - assert 2 <= len(p_index.requests) <= 3 - assert p_index.requests[0].path == '/does-not-exist/' - - @staticmethod - @contextlib.contextmanager - def create_sdist(): - """ - Return an sdist with a setup_requires dependency (of something that - doesn't exist) - """ - with contexts.tempdir() as dir: - dist_path = os.path.join(dir, 'setuptools-test-fetcher-1.0.tar.gz') - script = DALS(""" - import setuptools - setuptools.setup( - name="setuptools-test-fetcher", - version="1.0", - setup_requires = ['does-not-exist'], - ) - """) - make_trivial_sdist(dist_path, script) - yield dist_path - - def test_setup_requires_overrides_version_conflict(self): - """ - Regression test for issue #323. - - Ensures that a distribution's setup_requires requirements can still be - installed and used locally even if a conflicting version of that - requirement is already on the path. - """ - - pr_state = pkg_resources.__getstate__() - fake_dist = PRDistribution('does-not-matter', project_name='foobar', - version='0.0') - working_set.add(fake_dist) - - try: - with contexts.tempdir() as temp_dir: - test_pkg = create_setup_requires_package(temp_dir) - test_setup_py = os.path.join(test_pkg, 'setup.py') - with contexts.quiet() as (stdout, stderr): - # Don't even need to install the package, just - # running the setup.py at all is sufficient - run_setup(test_setup_py, ['--name']) - - lines = stdout.readlines() - assert len(lines) > 0 - assert lines[-1].strip(), 'test_pkg' - finally: - pkg_resources.__setstate__(pr_state) - - -def create_setup_requires_package(path): - """Creates a source tree under path for a trivial test package that has a - single requirement in setup_requires--a tarball for that requirement is - also created and added to the dependency_links argument. - """ - - test_setup_attrs = { - 'name': 'test_pkg', 'version': '0.0', - 'setup_requires': ['foobar==0.1'], - 'dependency_links': [os.path.abspath(path)] - } - - test_pkg = os.path.join(path, 'test_pkg') - test_setup_py = os.path.join(test_pkg, 'setup.py') - os.mkdir(test_pkg) - - with open(test_setup_py, 'w') as f: - f.write(DALS(""" - import setuptools - setuptools.setup(**%r) - """ % test_setup_attrs)) - - foobar_path = os.path.join(path, 'foobar-0.1.tar.gz') - make_trivial_sdist( - foobar_path, - DALS(""" - import setuptools - setuptools.setup( - name='foobar', - version='0.1' - ) - """)) - - return test_pkg - - -def make_trivial_sdist(dist_path, setup_py): - """Create a simple sdist tarball at dist_path, containing just a - setup.py, the contents of which are provided by the setup_py string. - """ - - setup_py_file = tarfile.TarInfo(name='setup.py') - try: - # Python 3 (StringIO gets converted to io module) - MemFile = BytesIO - except AttributeError: - MemFile = StringIO - setup_py_bytes = MemFile(setup_py.encode('utf-8')) - setup_py_file.size = len(setup_py_bytes.getvalue()) - with tarfile_open(dist_path, 'w:gz') as dist: - dist.addfile(setup_py_file, fileobj=setup_py_bytes) - - -class TestScriptHeader: - non_ascii_exe = '/Users/José/bin/python' - exe_with_spaces = r'C:\Program Files\Python33\python.exe' - - @pytest.mark.skipif( - sys.platform.startswith('java') and ei.is_sh(sys.executable), - reason="Test cannot run under java when executable is sh" - ) - def test_get_script_header(self): - expected = '#!%s\n' % ei.nt_quote_arg(os.path.normpath(sys.executable)) - actual = ei.ScriptWriter.get_script_header('#!/usr/local/bin/python') - assert actual == expected - - expected = '#!%s -x\n' % ei.nt_quote_arg(os.path.normpath - (sys.executable)) - actual = ei.ScriptWriter.get_script_header('#!/usr/bin/python -x') - assert actual == expected - - actual = ei.ScriptWriter.get_script_header('#!/usr/bin/python', - executable=self.non_ascii_exe) - expected = '#!%s -x\n' % self.non_ascii_exe - assert actual == expected - - actual = ei.ScriptWriter.get_script_header('#!/usr/bin/python', - executable='"'+self.exe_with_spaces+'"') - expected = '#!"%s"\n' % self.exe_with_spaces - assert actual == expected - - @pytest.mark.xfail( - compat.PY3 and os.environ.get("LC_CTYPE") in ("C", "POSIX"), - reason="Test fails in this locale on Python 3" - ) - @mock.patch.dict(sys.modules, java=mock.Mock(lang=mock.Mock(System= - mock.Mock(getProperty=mock.Mock(return_value=""))))) - @mock.patch('sys.platform', 'java1.5.0_13') - def test_get_script_header_jython_workaround(self, tmpdir): - # Create a mock sys.executable that uses a shebang line - header = DALS(""" - #!/usr/bin/python - # -*- coding: utf-8 -*- - """) - exe = tmpdir / 'exe.py' - with exe.open('w') as f: - f.write(header) - exe = str(exe) - - header = ei.ScriptWriter.get_script_header('#!/usr/local/bin/python', - executable=exe) - assert header == '#!/usr/bin/env %s\n' % exe - - expect_out = 'stdout' if sys.version_info < (2,7) else 'stderr' - - with contexts.quiet() as (stdout, stderr): - # When options are included, generate a broken shebang line - # with a warning emitted - candidate = ei.ScriptWriter.get_script_header('#!/usr/bin/python -x', - executable=exe) - assert candidate == '#!%s -x\n' % exe - output = locals()[expect_out] - assert 'Unable to adapt shebang line' in output.getvalue() - - with contexts.quiet() as (stdout, stderr): - candidate = ei.ScriptWriter.get_script_header('#!/usr/bin/python', - executable=self.non_ascii_exe) - assert candidate == '#!%s -x\n' % self.non_ascii_exe - output = locals()[expect_out] - assert 'Unable to adapt shebang line' in output.getvalue() - - -class TestCommandSpec: - def test_custom_launch_command(self): - """ - Show how a custom CommandSpec could be used to specify a #! executable - which takes parameters. - """ - cmd = ei.CommandSpec(['/usr/bin/env', 'python3']) - assert cmd.as_header() == '#!/usr/bin/env python3\n' - - def test_from_param_for_CommandSpec_is_passthrough(self): - """ - from_param should return an instance of a CommandSpec - """ - cmd = ei.CommandSpec(['python']) - cmd_new = ei.CommandSpec.from_param(cmd) - assert cmd is cmd_new - - def test_from_environment_with_spaces_in_executable(self): - with mock.patch('sys.executable', TestScriptHeader.exe_with_spaces): - cmd = ei.CommandSpec.from_environment() - assert len(cmd) == 1 - assert cmd.as_header().startswith('#!"') - - def test_from_simple_string_uses_shlex(self): - """ - In order to support `executable = /usr/bin/env my-python`, make sure - from_param invokes shlex on that input. - """ - cmd = ei.CommandSpec.from_param('/usr/bin/env my-python') - assert len(cmd) == 2 - assert '"' not in cmd.as_header() - - def test_sys_executable(self): - """ - CommandSpec.from_string(sys.executable) should contain just that param. - """ - writer = ei.ScriptWriter.best() - cmd = writer.command_spec_class.from_string(sys.executable) - assert len(cmd) == 1 - assert cmd[0] == sys.executable - - -class TestWindowsScriptWriter: - def test_header(self): - hdr = ei.WindowsScriptWriter.get_script_header('') - assert hdr.startswith('#!') - assert hdr.endswith('\n') - hdr = hdr.lstrip('#!') - hdr = hdr.rstrip('\n') - # header should not start with an escaped quote - assert not hdr.startswith('\\"') diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_egg_info.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_egg_info.py deleted file mode 100644 index a1caf9f..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_egg_info.py +++ /dev/null @@ -1,98 +0,0 @@ -import os -import stat - -import pytest - -from . import environment -from .textwrap import DALS -from . import contexts - - -class TestEggInfo: - - setup_script = DALS(""" - from setuptools import setup - - setup( - name='foo', - py_modules=['hello'], - entry_points={'console_scripts': ['hi = hello.run']}, - zip_safe=False, - ) - """) - - def _create_project(self): - with open('setup.py', 'w') as f: - f.write(self.setup_script) - - with open('hello.py', 'w') as f: - f.write(DALS(""" - def run(): - print('hello') - """)) - - @pytest.yield_fixture - def env(self): - class Environment(str): pass - - with contexts.tempdir(prefix='setuptools-test.') as env_dir: - env = Environment(env_dir) - os.chmod(env_dir, stat.S_IRWXU) - subs = 'home', 'lib', 'scripts', 'data', 'egg-base' - env.paths = dict( - (dirname, os.path.join(env_dir, dirname)) - for dirname in subs - ) - list(map(os.mkdir, env.paths.values())) - config = os.path.join(env.paths['home'], '.pydistutils.cfg') - with open(config, 'w') as f: - f.write(DALS(""" - [egg_info] - egg-base = %(egg-base)s - """ % env.paths - )) - yield env - - def test_egg_base_installed_egg_info(self, tmpdir_cwd, env): - self._create_project() - - environ = os.environ.copy().update( - HOME=env.paths['home'], - ) - cmd = [ - 'install', - '--home', env.paths['home'], - '--install-lib', env.paths['lib'], - '--install-scripts', env.paths['scripts'], - '--install-data', env.paths['data'], - ] - code, data = environment.run_setup_py( - cmd=cmd, - pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]), - data_stream=1, - env=environ, - ) - if code: - raise AssertionError(data) - - actual = self._find_egg_info_files(env.paths['lib']) - - expected = [ - 'PKG-INFO', - 'SOURCES.txt', - 'dependency_links.txt', - 'entry_points.txt', - 'not-zip-safe', - 'top_level.txt', - ] - assert sorted(actual) == expected - - def _find_egg_info_files(self, root): - results = ( - filenames - for dirpath, dirnames, filenames in os.walk(root) - if os.path.basename(dirpath) == 'EGG-INFO' - ) - # expect exactly one result - result, = results - return result diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_find_packages.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_find_packages.py deleted file mode 100644 index 06a7c02..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_find_packages.py +++ /dev/null @@ -1,170 +0,0 @@ -"""Tests for setuptools.find_packages().""" -import os -import sys -import shutil -import tempfile -import platform - -import pytest - -import setuptools -from setuptools import find_packages - -find_420_packages = setuptools.PEP420PackageFinder.find - -# modeled after CPython's test.support.can_symlink -def can_symlink(): - TESTFN = tempfile.mktemp() - symlink_path = TESTFN + "can_symlink" - try: - os.symlink(TESTFN, symlink_path) - can = True - except (OSError, NotImplementedError, AttributeError): - can = False - else: - os.remove(symlink_path) - globals().update(can_symlink=lambda: can) - return can - -def has_symlink(): - bad_symlink = ( - # Windows symlink directory detection is broken on Python 3.2 - platform.system() == 'Windows' and sys.version_info[:2] == (3,2) - ) - return can_symlink() and not bad_symlink - -class TestFindPackages: - - def setup_method(self, method): - self.dist_dir = tempfile.mkdtemp() - self._make_pkg_structure() - - def teardown_method(self, method): - shutil.rmtree(self.dist_dir) - - def _make_pkg_structure(self): - """Make basic package structure. - - dist/ - docs/ - conf.py - pkg/ - __pycache__/ - nspkg/ - mod.py - subpkg/ - assets/ - asset - __init__.py - setup.py - - """ - self.docs_dir = self._mkdir('docs', self.dist_dir) - self._touch('conf.py', self.docs_dir) - self.pkg_dir = self._mkdir('pkg', self.dist_dir) - self._mkdir('__pycache__', self.pkg_dir) - self.ns_pkg_dir = self._mkdir('nspkg', self.pkg_dir) - self._touch('mod.py', self.ns_pkg_dir) - self.sub_pkg_dir = self._mkdir('subpkg', self.pkg_dir) - self.asset_dir = self._mkdir('assets', self.sub_pkg_dir) - self._touch('asset', self.asset_dir) - self._touch('__init__.py', self.sub_pkg_dir) - self._touch('setup.py', self.dist_dir) - - def _mkdir(self, path, parent_dir=None): - if parent_dir: - path = os.path.join(parent_dir, path) - os.mkdir(path) - return path - - def _touch(self, path, dir_=None): - if dir_: - path = os.path.join(dir_, path) - fp = open(path, 'w') - fp.close() - return path - - def test_regular_package(self): - self._touch('__init__.py', self.pkg_dir) - packages = find_packages(self.dist_dir) - assert packages == ['pkg', 'pkg.subpkg'] - - def test_exclude(self): - self._touch('__init__.py', self.pkg_dir) - packages = find_packages(self.dist_dir, exclude=('pkg.*',)) - assert packages == ['pkg'] - - def test_include_excludes_other(self): - """ - If include is specified, other packages should be excluded. - """ - self._touch('__init__.py', self.pkg_dir) - alt_dir = self._mkdir('other_pkg', self.dist_dir) - self._touch('__init__.py', alt_dir) - packages = find_packages(self.dist_dir, include=['other_pkg']) - assert packages == ['other_pkg'] - - def test_dir_with_dot_is_skipped(self): - shutil.rmtree(os.path.join(self.dist_dir, 'pkg/subpkg/assets')) - data_dir = self._mkdir('some.data', self.pkg_dir) - self._touch('__init__.py', data_dir) - self._touch('file.dat', data_dir) - packages = find_packages(self.dist_dir) - assert 'pkg.some.data' not in packages - - def test_dir_with_packages_in_subdir_is_excluded(self): - """ - Ensure that a package in a non-package such as build/pkg/__init__.py - is excluded. - """ - build_dir = self._mkdir('build', self.dist_dir) - build_pkg_dir = self._mkdir('pkg', build_dir) - self._touch('__init__.py', build_pkg_dir) - packages = find_packages(self.dist_dir) - assert 'build.pkg' not in packages - - @pytest.mark.skipif(not has_symlink(), reason='Symlink support required') - def test_symlinked_packages_are_included(self): - """ - A symbolically-linked directory should be treated like any other - directory when matched as a package. - - Create a link from lpkg -> pkg. - """ - self._touch('__init__.py', self.pkg_dir) - linked_pkg = os.path.join(self.dist_dir, 'lpkg') - os.symlink('pkg', linked_pkg) - assert os.path.isdir(linked_pkg) - packages = find_packages(self.dist_dir) - assert 'lpkg' in packages - - def _assert_packages(self, actual, expected): - assert set(actual) == set(expected) - - def test_pep420_ns_package(self): - packages = find_420_packages( - self.dist_dir, include=['pkg*'], exclude=['pkg.subpkg.assets']) - self._assert_packages(packages, ['pkg', 'pkg.nspkg', 'pkg.subpkg']) - - def test_pep420_ns_package_no_includes(self): - packages = find_420_packages( - self.dist_dir, exclude=['pkg.subpkg.assets']) - self._assert_packages(packages, ['docs', 'pkg', 'pkg.nspkg', 'pkg.subpkg']) - - def test_pep420_ns_package_no_includes_or_excludes(self): - packages = find_420_packages(self.dist_dir) - expected = [ - 'docs', 'pkg', 'pkg.nspkg', 'pkg.subpkg', 'pkg.subpkg.assets'] - self._assert_packages(packages, expected) - - def test_regular_package_with_nested_pep420_ns_packages(self): - self._touch('__init__.py', self.pkg_dir) - packages = find_420_packages( - self.dist_dir, exclude=['docs', 'pkg.subpkg.assets']) - self._assert_packages(packages, ['pkg', 'pkg.nspkg', 'pkg.subpkg']) - - def test_pep420_ns_package_no_non_package_dirs(self): - shutil.rmtree(self.docs_dir) - shutil.rmtree(os.path.join(self.dist_dir, 'pkg/subpkg/assets')) - packages = find_420_packages(self.dist_dir) - self._assert_packages(packages, ['pkg', 'pkg.nspkg', 'pkg.subpkg']) diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_integration.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_integration.py deleted file mode 100644 index 90bb431..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_integration.py +++ /dev/null @@ -1,99 +0,0 @@ -"""Run some integration tests. - -Try to install a few packages. -""" - -import glob -import os -import sys - -import pytest - -from setuptools.command.easy_install import easy_install -from setuptools.command import easy_install as easy_install_pkg -from setuptools.dist import Distribution -from setuptools.compat import urlopen - - -def setup_module(module): - packages = 'stevedore', 'virtualenvwrapper', 'pbr', 'novaclient' - for pkg in packages: - try: - __import__(pkg) - tmpl = "Integration tests cannot run when {pkg} is installed" - pytest.skip(tmpl.format(**locals())) - except ImportError: - pass - - try: - urlopen('https://pypi.python.org/pypi') - except Exception as exc: - pytest.skip(reason=str(exc)) - - -@pytest.fixture -def install_context(request, tmpdir, monkeypatch): - """Fixture to set up temporary installation directory. - """ - # Save old values so we can restore them. - new_cwd = tmpdir.mkdir('cwd') - user_base = tmpdir.mkdir('user_base') - user_site = tmpdir.mkdir('user_site') - install_dir = tmpdir.mkdir('install_dir') - - def fin(): - # undo the monkeypatch, particularly needed under - # windows because of kept handle on cwd - monkeypatch.undo() - new_cwd.remove() - user_base.remove() - user_site.remove() - install_dir.remove() - request.addfinalizer(fin) - - # Change the environment and site settings to control where the - # files are installed and ensure we do not overwrite anything. - monkeypatch.chdir(new_cwd) - monkeypatch.setattr(easy_install_pkg, '__file__', user_site.strpath) - monkeypatch.setattr('site.USER_BASE', user_base.strpath) - monkeypatch.setattr('site.USER_SITE', user_site.strpath) - monkeypatch.setattr('sys.path', sys.path + [install_dir.strpath]) - monkeypatch.setenv('PYTHONPATH', os.path.pathsep.join(sys.path)) - - # Set up the command for performing the installation. - dist = Distribution() - cmd = easy_install(dist) - cmd.install_dir = install_dir.strpath - return cmd - - -def _install_one(requirement, cmd, pkgname, modulename): - cmd.args = [requirement] - cmd.ensure_finalized() - cmd.run() - target = cmd.install_dir - dest_path = glob.glob(os.path.join(target, pkgname + '*.egg')) - assert dest_path - assert os.path.exists(os.path.join(dest_path[0], pkgname, modulename)) - - -def test_stevedore(install_context): - _install_one('stevedore', install_context, - 'stevedore', 'extension.py') - - -@pytest.mark.xfail -def test_virtualenvwrapper(install_context): - _install_one('virtualenvwrapper', install_context, - 'virtualenvwrapper', 'hook_loader.py') - - -def test_pbr(install_context): - _install_one('pbr', install_context, - 'pbr', 'core.py') - - -@pytest.mark.xfail -def test_python_novaclient(install_context): - _install_one('python-novaclient', install_context, - 'novaclient', 'base.py') diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_markerlib.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_markerlib.py deleted file mode 100644 index 8197b49..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_markerlib.py +++ /dev/null @@ -1,63 +0,0 @@ -import os - -import pytest - - -class TestMarkerlib: - - @pytest.mark.importorskip('ast') - def test_markers(self): - from _markerlib import interpret, default_environment, compile - - os_name = os.name - - assert interpret("") - - assert interpret("os.name != 'buuuu'") - assert interpret("os_name != 'buuuu'") - assert interpret("python_version > '1.0'") - assert interpret("python_version < '5.0'") - assert interpret("python_version <= '5.0'") - assert interpret("python_version >= '1.0'") - assert interpret("'%s' in os.name" % os_name) - assert interpret("'%s' in os_name" % os_name) - assert interpret("'buuuu' not in os.name") - - assert not interpret("os.name == 'buuuu'") - assert not interpret("os_name == 'buuuu'") - assert not interpret("python_version < '1.0'") - assert not interpret("python_version > '5.0'") - assert not interpret("python_version >= '5.0'") - assert not interpret("python_version <= '1.0'") - assert not interpret("'%s' not in os.name" % os_name) - assert not interpret("'buuuu' in os.name and python_version >= '5.0'") - assert not interpret("'buuuu' in os_name and python_version >= '5.0'") - - environment = default_environment() - environment['extra'] = 'test' - assert interpret("extra == 'test'", environment) - assert not interpret("extra == 'doc'", environment) - - def raises_nameError(): - try: - interpret("python.version == '42'") - except NameError: - pass - else: - raise Exception("Expected NameError") - - raises_nameError() - - def raises_syntaxError(): - try: - interpret("(x for x in (4,))") - except SyntaxError: - pass - else: - raise Exception("Expected SyntaxError") - - raises_syntaxError() - - statement = "python_version == '5'" - assert compile(statement).__doc__ == statement - diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_msvc9compiler.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_msvc9compiler.py deleted file mode 100644 index 09e0460..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_msvc9compiler.py +++ /dev/null @@ -1,179 +0,0 @@ -""" -Tests for msvc9compiler. -""" - -import os -import contextlib -import distutils.errors - -import pytest -try: - from unittest import mock -except ImportError: - import mock - -from . import contexts - -# importing only setuptools should apply the patch -__import__('setuptools') - -pytest.importorskip("distutils.msvc9compiler") - - -def mock_reg(hkcu=None, hklm=None): - """ - Return a mock for distutils.msvc9compiler.Reg, patched - to mock out the functions that access the registry. - """ - - _winreg = getattr(distutils.msvc9compiler, '_winreg', None) - winreg = getattr(distutils.msvc9compiler, 'winreg', _winreg) - - hives = { - winreg.HKEY_CURRENT_USER: hkcu or {}, - winreg.HKEY_LOCAL_MACHINE: hklm or {}, - } - - @classmethod - def read_keys(cls, base, key): - """Return list of registry keys.""" - hive = hives.get(base, {}) - return [ - k.rpartition('\\')[2] - for k in hive if k.startswith(key.lower()) - ] - - @classmethod - def read_values(cls, base, key): - """Return dict of registry keys and values.""" - hive = hives.get(base, {}) - return dict( - (k.rpartition('\\')[2], hive[k]) - for k in hive if k.startswith(key.lower()) - ) - - return mock.patch.multiple(distutils.msvc9compiler.Reg, - read_keys=read_keys, read_values=read_values) - - -class TestModulePatch: - """ - Ensure that importing setuptools is sufficient to replace - the standard find_vcvarsall function with a version that - recognizes the "Visual C++ for Python" package. - """ - - key_32 = r'software\microsoft\devdiv\vcforpython\9.0\installdir' - key_64 = r'software\wow6432node\microsoft\devdiv\vcforpython\9.0\installdir' - - def test_patched(self): - "Test the module is actually patched" - mod_name = distutils.msvc9compiler.find_vcvarsall.__module__ - assert mod_name == "setuptools.msvc9_support", "find_vcvarsall unpatched" - - def test_no_registry_entryies_means_nothing_found(self): - """ - No registry entries or environment variable should lead to an error - directing the user to download vcpython27. - """ - find_vcvarsall = distutils.msvc9compiler.find_vcvarsall - query_vcvarsall = distutils.msvc9compiler.query_vcvarsall - - with contexts.environment(VS90COMNTOOLS=None): - with mock_reg(): - assert find_vcvarsall(9.0) is None - - expected = distutils.errors.DistutilsPlatformError - with pytest.raises(expected) as exc: - query_vcvarsall(9.0) - assert 'aka.ms/vcpython27' in str(exc) - - @pytest.yield_fixture - def user_preferred_setting(self): - """ - Set up environment with different install dirs for user vs. system - and yield the user_install_dir for the expected result. - """ - with self.mock_install_dir() as user_install_dir: - with self.mock_install_dir() as system_install_dir: - reg = mock_reg( - hkcu={ - self.key_32: user_install_dir, - }, - hklm={ - self.key_32: system_install_dir, - self.key_64: system_install_dir, - }, - ) - with reg: - yield user_install_dir - - def test_prefer_current_user(self, user_preferred_setting): - """ - Ensure user's settings are preferred. - """ - result = distutils.msvc9compiler.find_vcvarsall(9.0) - expected = os.path.join(user_preferred_setting, 'vcvarsall.bat') - assert expected == result - - @pytest.yield_fixture - def local_machine_setting(self): - """ - Set up environment with only the system environment configured. - """ - with self.mock_install_dir() as system_install_dir: - reg = mock_reg( - hklm={ - self.key_32: system_install_dir, - }, - ) - with reg: - yield system_install_dir - - def test_local_machine_recognized(self, local_machine_setting): - """ - Ensure machine setting is honored if user settings are not present. - """ - result = distutils.msvc9compiler.find_vcvarsall(9.0) - expected = os.path.join(local_machine_setting, 'vcvarsall.bat') - assert expected == result - - @pytest.yield_fixture - def x64_preferred_setting(self): - """ - Set up environment with 64-bit and 32-bit system settings configured - and yield the canonical location. - """ - with self.mock_install_dir() as x32_dir: - with self.mock_install_dir() as x64_dir: - reg = mock_reg( - hklm={ - # This *should* only exist on 32-bit machines - self.key_32: x32_dir, - # This *should* only exist on 64-bit machines - self.key_64: x64_dir, - }, - ) - with reg: - yield x32_dir - - def test_ensure_64_bit_preferred(self, x64_preferred_setting): - """ - Ensure 64-bit system key is preferred. - """ - result = distutils.msvc9compiler.find_vcvarsall(9.0) - expected = os.path.join(x64_preferred_setting, 'vcvarsall.bat') - assert expected == result - - @staticmethod - @contextlib.contextmanager - def mock_install_dir(): - """ - Make a mock install dir in a unique location so that tests can - distinguish which dir was detected in a given scenario. - """ - with contexts.tempdir() as result: - vcvarsall = os.path.join(result, 'vcvarsall.bat') - with open(vcvarsall, 'w'): - pass - yield result diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_packageindex.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_packageindex.py deleted file mode 100644 index dcd90d6..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_packageindex.py +++ /dev/null @@ -1,203 +0,0 @@ -import sys -import distutils.errors - -from setuptools.compat import httplib, HTTPError, unicode, pathname2url - -import pkg_resources -import setuptools.package_index -from setuptools.tests.server import IndexServer - - -class TestPackageIndex: - - def test_bad_url_bad_port(self): - index = setuptools.package_index.PackageIndex() - url = 'http://127.0.0.1:0/nonesuch/test_package_index' - try: - v = index.open_url(url) - except Exception as v: - assert url in str(v) - else: - assert isinstance(v, HTTPError) - - def test_bad_url_typo(self): - # issue 16 - # easy_install inquant.contentmirror.plone breaks because of a typo - # in its home URL - index = setuptools.package_index.PackageIndex( - hosts=('www.example.com',) - ) - - url = 'url:%20https://svn.plone.org/svn/collective/inquant.contentmirror.plone/trunk' - try: - v = index.open_url(url) - except Exception as v: - assert url in str(v) - else: - assert isinstance(v, HTTPError) - - def test_bad_url_bad_status_line(self): - index = setuptools.package_index.PackageIndex( - hosts=('www.example.com',) - ) - - def _urlopen(*args): - raise httplib.BadStatusLine('line') - - index.opener = _urlopen - url = 'http://example.com' - try: - v = index.open_url(url) - except Exception as v: - assert 'line' in str(v) - else: - raise AssertionError('Should have raise here!') - - def test_bad_url_double_scheme(self): - """ - A bad URL with a double scheme should raise a DistutilsError. - """ - index = setuptools.package_index.PackageIndex( - hosts=('www.example.com',) - ) - - # issue 20 - url = 'http://http://svn.pythonpaste.org/Paste/wphp/trunk' - try: - index.open_url(url) - except distutils.errors.DistutilsError as error: - msg = unicode(error) - assert 'nonnumeric port' in msg or 'getaddrinfo failed' in msg or 'Name or service not known' in msg - return - raise RuntimeError("Did not raise") - - def test_bad_url_screwy_href(self): - index = setuptools.package_index.PackageIndex( - hosts=('www.example.com',) - ) - - # issue #160 - if sys.version_info[0] == 2 and sys.version_info[1] == 7: - # this should not fail - url = 'http://example.com' - page = ('') - index.process_index(url, page) - - def test_url_ok(self): - index = setuptools.package_index.PackageIndex( - hosts=('www.example.com',) - ) - url = 'file:///tmp/test_package_index' - assert index.url_ok(url, True) - - def test_links_priority(self): - """ - Download links from the pypi simple index should be used before - external download links. - https://bitbucket.org/tarek/distribute/issue/163 - - Usecase : - - someone uploads a package on pypi, a md5 is generated - - someone manually copies this link (with the md5 in the url) onto an - external page accessible from the package page. - - someone reuploads the package (with a different md5) - - while easy_installing, an MD5 error occurs because the external link - is used - -> Setuptools should use the link from pypi, not the external one. - """ - if sys.platform.startswith('java'): - # Skip this test on jython because binding to :0 fails - return - - # start an index server - server = IndexServer() - server.start() - index_url = server.base_url() + 'test_links_priority/simple/' - - # scan a test index - pi = setuptools.package_index.PackageIndex(index_url) - requirement = pkg_resources.Requirement.parse('foobar') - pi.find_packages(requirement) - server.stop() - - # the distribution has been found - assert 'foobar' in pi - # we have only one link, because links are compared without md5 - assert len(pi['foobar'])==1 - # the link should be from the index - assert 'correct_md5' in pi['foobar'][0].location - - def test_parse_bdist_wininst(self): - parse = setuptools.package_index.parse_bdist_wininst - - actual = parse('reportlab-2.5.win32-py2.4.exe') - expected = 'reportlab-2.5', '2.4', 'win32' - assert actual == expected - - actual = parse('reportlab-2.5.win32.exe') - expected = 'reportlab-2.5', None, 'win32' - assert actual == expected - - actual = parse('reportlab-2.5.win-amd64-py2.7.exe') - expected = 'reportlab-2.5', '2.7', 'win-amd64' - assert actual == expected - - actual = parse('reportlab-2.5.win-amd64.exe') - expected = 'reportlab-2.5', None, 'win-amd64' - assert actual == expected - - def test__vcs_split_rev_from_url(self): - """ - Test the basic usage of _vcs_split_rev_from_url - """ - vsrfu = setuptools.package_index.PackageIndex._vcs_split_rev_from_url - url, rev = vsrfu('https://example.com/bar@2995') - assert url == 'https://example.com/bar' - assert rev == '2995' - - def test_local_index(self, tmpdir): - """ - local_open should be able to read an index from the file system. - """ - index_file = tmpdir / 'index.html' - with index_file.open('w') as f: - f.write('
content
') - url = 'file:' + pathname2url(str(tmpdir)) + '/' - res = setuptools.package_index.local_open(url) - assert 'content' in res.read() - - -class TestContentCheckers: - - def test_md5(self): - checker = setuptools.package_index.HashChecker.from_url( - 'http://foo/bar#md5=f12895fdffbd45007040d2e44df98478') - checker.feed('You should probably not be using MD5'.encode('ascii')) - assert checker.hash.hexdigest() == 'f12895fdffbd45007040d2e44df98478' - assert checker.is_valid() - - def test_other_fragment(self): - "Content checks should succeed silently if no hash is present" - checker = setuptools.package_index.HashChecker.from_url( - 'http://foo/bar#something%20completely%20different') - checker.feed('anything'.encode('ascii')) - assert checker.is_valid() - - def test_blank_md5(self): - "Content checks should succeed if a hash is empty" - checker = setuptools.package_index.HashChecker.from_url( - 'http://foo/bar#md5=') - checker.feed('anything'.encode('ascii')) - assert checker.is_valid() - - def test_get_hash_name_md5(self): - checker = setuptools.package_index.HashChecker.from_url( - 'http://foo/bar#md5=f12895fdffbd45007040d2e44df98478') - assert checker.hash_name == 'md5' - - def test_report(self): - checker = setuptools.package_index.HashChecker.from_url( - 'http://foo/bar#md5=f12895fdffbd45007040d2e44df98478') - rep = checker.report(lambda x: x, 'My message about %s') - assert rep == 'My message about md5' diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_sandbox.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_sandbox.py deleted file mode 100644 index 6e1e9e1..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_sandbox.py +++ /dev/null @@ -1,102 +0,0 @@ -"""develop tests -""" -import os -import types - -import pytest - -import pkg_resources -import setuptools.sandbox -from setuptools.sandbox import DirectorySandbox - - -class TestSandbox: - - def test_devnull(self, tmpdir): - sandbox = DirectorySandbox(str(tmpdir)) - sandbox.run(self._file_writer(os.devnull)) - - @staticmethod - def _file_writer(path): - def do_write(): - with open(path, 'w') as f: - f.write('xxx') - return do_write - - def test_win32com(self, tmpdir): - """ - win32com should not be prevented from caching COM interfaces - in gen_py. - """ - win32com = pytest.importorskip('win32com') - gen_py = win32com.__gen_path__ - target = os.path.join(gen_py, 'test_write') - sandbox = DirectorySandbox(str(tmpdir)) - try: - # attempt to create gen_py file - sandbox.run(self._file_writer(target)) - finally: - if os.path.exists(target): - os.remove(target) - - def test_setup_py_with_BOM(self): - """ - It should be possible to execute a setup.py with a Byte Order Mark - """ - target = pkg_resources.resource_filename(__name__, - 'script-with-bom.py') - namespace = types.ModuleType('namespace') - setuptools.sandbox._execfile(target, vars(namespace)) - assert namespace.result == 'passed' - - def test_setup_py_with_CRLF(self, tmpdir): - setup_py = tmpdir / 'setup.py' - with setup_py.open('wb') as stream: - stream.write(b'"degenerate script"\r\n') - setuptools.sandbox._execfile(str(setup_py), globals()) - - -class TestExceptionSaver: - def test_exception_trapped(self): - with setuptools.sandbox.ExceptionSaver(): - raise ValueError("details") - - def test_exception_resumed(self): - with setuptools.sandbox.ExceptionSaver() as saved_exc: - raise ValueError("details") - - with pytest.raises(ValueError) as caught: - saved_exc.resume() - - assert isinstance(caught.value, ValueError) - assert str(caught.value) == 'details' - - def test_exception_reconstructed(self): - orig_exc = ValueError("details") - - with setuptools.sandbox.ExceptionSaver() as saved_exc: - raise orig_exc - - with pytest.raises(ValueError) as caught: - saved_exc.resume() - - assert isinstance(caught.value, ValueError) - assert caught.value is not orig_exc - - def test_no_exception_passes_quietly(self): - with setuptools.sandbox.ExceptionSaver() as saved_exc: - pass - - saved_exc.resume() - - def test_unpickleable_exception(self): - class CantPickleThis(Exception): - "This Exception is unpickleable because it's not in globals" - - with setuptools.sandbox.ExceptionSaver() as saved_exc: - raise CantPickleThis('detail') - - with pytest.raises(setuptools.sandbox.UnpickleableException) as caught: - saved_exc.resume() - - assert str(caught.value) == "CantPickleThis('detail',)" diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_sdist.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_sdist.py deleted file mode 100644 index 9013b50..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_sdist.py +++ /dev/null @@ -1,419 +0,0 @@ -# -*- coding: utf-8 -*- -"""sdist tests""" - -import locale -import os -import shutil -import sys -import tempfile -import unicodedata -import contextlib - -import pytest - -import pkg_resources -from setuptools.compat import StringIO, unicode, PY3, PY2 -from setuptools.command.sdist import sdist -from setuptools.command.egg_info import manifest_maker -from setuptools.dist import Distribution - -SETUP_ATTRS = { - 'name': 'sdist_test', - 'version': '0.0', - 'packages': ['sdist_test'], - 'package_data': {'sdist_test': ['*.txt']} -} - - -SETUP_PY = """\ -from setuptools import setup - -setup(**%r) -""" % SETUP_ATTRS - - -if PY3: - LATIN1_FILENAME = 'smörbröd.py'.encode('latin-1') -else: - LATIN1_FILENAME = 'sm\xf6rbr\xf6d.py' - - -# Cannot use context manager because of Python 2.4 -@contextlib.contextmanager -def quiet(): - old_stdout, old_stderr = sys.stdout, sys.stderr - sys.stdout, sys.stderr = StringIO(), StringIO() - try: - yield - finally: - sys.stdout, sys.stderr = old_stdout, old_stderr - - -# Fake byte literals for Python <= 2.5 -def b(s, encoding='utf-8'): - if PY3: - return s.encode(encoding) - return s - - -# Convert to POSIX path -def posix(path): - if PY3 and not isinstance(path, str): - return path.replace(os.sep.encode('ascii'), b('/')) - else: - return path.replace(os.sep, '/') - - -# HFS Plus uses decomposed UTF-8 -def decompose(path): - if isinstance(path, unicode): - return unicodedata.normalize('NFD', path) - try: - path = path.decode('utf-8') - path = unicodedata.normalize('NFD', path) - path = path.encode('utf-8') - except UnicodeError: - pass # Not UTF-8 - return path - - -class TestSdistTest: - - def setup_method(self, method): - self.temp_dir = tempfile.mkdtemp() - f = open(os.path.join(self.temp_dir, 'setup.py'), 'w') - f.write(SETUP_PY) - f.close() - - # Set up the rest of the test package - test_pkg = os.path.join(self.temp_dir, 'sdist_test') - os.mkdir(test_pkg) - # *.rst was not included in package_data, so c.rst should not be - # automatically added to the manifest when not under version control - for fname in ['__init__.py', 'a.txt', 'b.txt', 'c.rst']: - # Just touch the files; their contents are irrelevant - open(os.path.join(test_pkg, fname), 'w').close() - - self.old_cwd = os.getcwd() - os.chdir(self.temp_dir) - - def teardown_method(self, method): - os.chdir(self.old_cwd) - shutil.rmtree(self.temp_dir) - - def test_package_data_in_sdist(self): - """Regression test for pull request #4: ensures that files listed in - package_data are included in the manifest even if they're not added to - version control. - """ - - dist = Distribution(SETUP_ATTRS) - dist.script_name = 'setup.py' - cmd = sdist(dist) - cmd.ensure_finalized() - - with quiet(): - cmd.run() - - manifest = cmd.filelist.files - assert os.path.join('sdist_test', 'a.txt') in manifest - assert os.path.join('sdist_test', 'b.txt') in manifest - assert os.path.join('sdist_test', 'c.rst') not in manifest - - - def test_defaults_case_sensitivity(self): - """ - Make sure default files (README.*, etc.) are added in a case-sensitive - way to avoid problems with packages built on Windows. - """ - - open(os.path.join(self.temp_dir, 'readme.rst'), 'w').close() - open(os.path.join(self.temp_dir, 'SETUP.cfg'), 'w').close() - - dist = Distribution(SETUP_ATTRS) - # the extension deliberately capitalized for this test - # to make sure the actual filename (not capitalized) gets added - # to the manifest - dist.script_name = 'setup.PY' - cmd = sdist(dist) - cmd.ensure_finalized() - - with quiet(): - cmd.run() - - # lowercase all names so we can test in a case-insensitive way to make sure the files are not included - manifest = map(lambda x: x.lower(), cmd.filelist.files) - assert 'readme.rst' not in manifest, manifest - assert 'setup.py' not in manifest, manifest - assert 'setup.cfg' not in manifest, manifest - - def test_manifest_is_written_with_utf8_encoding(self): - # Test for #303. - dist = Distribution(SETUP_ATTRS) - dist.script_name = 'setup.py' - mm = manifest_maker(dist) - mm.manifest = os.path.join('sdist_test.egg-info', 'SOURCES.txt') - os.mkdir('sdist_test.egg-info') - - # UTF-8 filename - filename = os.path.join('sdist_test', 'smörbröd.py') - - # Must create the file or it will get stripped. - open(filename, 'w').close() - - # Add UTF-8 filename and write manifest - with quiet(): - mm.run() - mm.filelist.append(filename) - mm.write_manifest() - - manifest = open(mm.manifest, 'rbU') - contents = manifest.read() - manifest.close() - - # The manifest should be UTF-8 encoded - u_contents = contents.decode('UTF-8') - - # The manifest should contain the UTF-8 filename - if PY2: - fs_enc = sys.getfilesystemencoding() - filename = filename.decode(fs_enc) - - assert posix(filename) in u_contents - - # Python 3 only - if PY3: - - def test_write_manifest_allows_utf8_filenames(self): - # Test for #303. - dist = Distribution(SETUP_ATTRS) - dist.script_name = 'setup.py' - mm = manifest_maker(dist) - mm.manifest = os.path.join('sdist_test.egg-info', 'SOURCES.txt') - os.mkdir('sdist_test.egg-info') - - # UTF-8 filename - filename = os.path.join(b('sdist_test'), b('smörbröd.py')) - - # Must touch the file or risk removal - open(filename, "w").close() - - # Add filename and write manifest - with quiet(): - mm.run() - u_filename = filename.decode('utf-8') - mm.filelist.files.append(u_filename) - # Re-write manifest - mm.write_manifest() - - manifest = open(mm.manifest, 'rbU') - contents = manifest.read() - manifest.close() - - # The manifest should be UTF-8 encoded - contents.decode('UTF-8') - - # The manifest should contain the UTF-8 filename - assert posix(filename) in contents - - # The filelist should have been updated as well - assert u_filename in mm.filelist.files - - def test_write_manifest_skips_non_utf8_filenames(self): - """ - Files that cannot be encoded to UTF-8 (specifically, those that - weren't originally successfully decoded and have surrogate - escapes) should be omitted from the manifest. - See https://bitbucket.org/tarek/distribute/issue/303 for history. - """ - dist = Distribution(SETUP_ATTRS) - dist.script_name = 'setup.py' - mm = manifest_maker(dist) - mm.manifest = os.path.join('sdist_test.egg-info', 'SOURCES.txt') - os.mkdir('sdist_test.egg-info') - - # Latin-1 filename - filename = os.path.join(b('sdist_test'), LATIN1_FILENAME) - - # Add filename with surrogates and write manifest - with quiet(): - mm.run() - u_filename = filename.decode('utf-8', 'surrogateescape') - mm.filelist.append(u_filename) - # Re-write manifest - mm.write_manifest() - - manifest = open(mm.manifest, 'rbU') - contents = manifest.read() - manifest.close() - - # The manifest should be UTF-8 encoded - contents.decode('UTF-8') - - # The Latin-1 filename should have been skipped - assert posix(filename) not in contents - - # The filelist should have been updated as well - assert u_filename not in mm.filelist.files - - def test_manifest_is_read_with_utf8_encoding(self): - # Test for #303. - dist = Distribution(SETUP_ATTRS) - dist.script_name = 'setup.py' - cmd = sdist(dist) - cmd.ensure_finalized() - - # Create manifest - with quiet(): - cmd.run() - - # Add UTF-8 filename to manifest - filename = os.path.join(b('sdist_test'), b('smörbröd.py')) - cmd.manifest = os.path.join('sdist_test.egg-info', 'SOURCES.txt') - manifest = open(cmd.manifest, 'ab') - manifest.write(b('\n') + filename) - manifest.close() - - # The file must exist to be included in the filelist - open(filename, 'w').close() - - # Re-read manifest - cmd.filelist.files = [] - with quiet(): - cmd.read_manifest() - - # The filelist should contain the UTF-8 filename - if PY3: - filename = filename.decode('utf-8') - assert filename in cmd.filelist.files - - # Python 3 only - if PY3: - - def test_read_manifest_skips_non_utf8_filenames(self): - # Test for #303. - dist = Distribution(SETUP_ATTRS) - dist.script_name = 'setup.py' - cmd = sdist(dist) - cmd.ensure_finalized() - - # Create manifest - with quiet(): - cmd.run() - - # Add Latin-1 filename to manifest - filename = os.path.join(b('sdist_test'), LATIN1_FILENAME) - cmd.manifest = os.path.join('sdist_test.egg-info', 'SOURCES.txt') - manifest = open(cmd.manifest, 'ab') - manifest.write(b('\n') + filename) - manifest.close() - - # The file must exist to be included in the filelist - open(filename, 'w').close() - - # Re-read manifest - cmd.filelist.files = [] - with quiet(): - cmd.read_manifest() - - # The Latin-1 filename should have been skipped - filename = filename.decode('latin-1') - assert filename not in cmd.filelist.files - - @pytest.mark.skipif(PY3 and locale.getpreferredencoding() != 'UTF-8', - reason='Unittest fails if locale is not utf-8 but the manifests is ' - 'recorded correctly') - def test_sdist_with_utf8_encoded_filename(self): - # Test for #303. - dist = Distribution(SETUP_ATTRS) - dist.script_name = 'setup.py' - cmd = sdist(dist) - cmd.ensure_finalized() - - # UTF-8 filename - filename = os.path.join(b('sdist_test'), b('smörbröd.py')) - open(filename, 'w').close() - - with quiet(): - cmd.run() - - if sys.platform == 'darwin': - filename = decompose(filename) - - if PY3: - fs_enc = sys.getfilesystemencoding() - - if sys.platform == 'win32': - if fs_enc == 'cp1252': - # Python 3 mangles the UTF-8 filename - filename = filename.decode('cp1252') - assert filename in cmd.filelist.files - else: - filename = filename.decode('mbcs') - assert filename in cmd.filelist.files - else: - filename = filename.decode('utf-8') - assert filename in cmd.filelist.files - else: - assert filename in cmd.filelist.files - - def test_sdist_with_latin1_encoded_filename(self): - # Test for #303. - dist = Distribution(SETUP_ATTRS) - dist.script_name = 'setup.py' - cmd = sdist(dist) - cmd.ensure_finalized() - - # Latin-1 filename - filename = os.path.join(b('sdist_test'), LATIN1_FILENAME) - open(filename, 'w').close() - assert os.path.isfile(filename) - - with quiet(): - cmd.run() - - if PY3: - # not all windows systems have a default FS encoding of cp1252 - if sys.platform == 'win32': - # Latin-1 is similar to Windows-1252 however - # on mbcs filesys it is not in latin-1 encoding - fs_enc = sys.getfilesystemencoding() - if fs_enc == 'mbcs': - filename = filename.decode('mbcs') - else: - filename = filename.decode('latin-1') - - assert filename in cmd.filelist.files - else: - # The Latin-1 filename should have been skipped - filename = filename.decode('latin-1') - filename not in cmd.filelist.files - else: - # Under Python 2 there seems to be no decoded string in the - # filelist. However, due to decode and encoding of the - # file name to get utf-8 Manifest the latin1 maybe excluded - try: - # fs_enc should match how one is expect the decoding to - # be proformed for the manifest output. - fs_enc = sys.getfilesystemencoding() - filename.decode(fs_enc) - assert filename in cmd.filelist.files - except UnicodeDecodeError: - filename not in cmd.filelist.files - - -def test_default_revctrl(): - """ - When _default_revctrl was removed from the `setuptools.command.sdist` - module in 10.0, it broke some systems which keep an old install of - setuptools (Distribute) around. Those old versions require that the - setuptools package continue to implement that interface, so this - function provides that interface, stubbed. See #320 for details. - - This interface must be maintained until Ubuntu 12.04 is no longer - supported (by Setuptools). - """ - ep_def = 'svn_cvs = setuptools.command.sdist:_default_revctrl' - ep = pkg_resources.EntryPoint.parse(ep_def) - res = ep.resolve() - assert hasattr(res, '__iter__') diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_test.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_test.py deleted file mode 100644 index a66294c..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_test.py +++ /dev/null @@ -1,91 +0,0 @@ -# -*- coding: UTF-8 -*- - -from __future__ import unicode_literals - -import os -import site - -import pytest - -from setuptools.command.test import test -from setuptools.dist import Distribution - -from .textwrap import DALS -from . import contexts - -SETUP_PY = DALS(""" - from setuptools import setup - - setup(name='foo', - packages=['name', 'name.space', 'name.space.tests'], - namespace_packages=['name'], - test_suite='name.space.tests.test_suite', - ) - """) - -NS_INIT = DALS(""" - # -*- coding: Latin-1 -*- - # Söme Arbiträry Ünicode to test Distribute Issüé 310 - try: - __import__('pkg_resources').declare_namespace(__name__) - except ImportError: - from pkgutil import extend_path - __path__ = extend_path(__path__, __name__) - """) - -TEST_PY = DALS(""" - import unittest - - class TestTest(unittest.TestCase): - def test_test(self): - print "Foo" # Should fail under Python 3 unless 2to3 is used - - test_suite = unittest.makeSuite(TestTest) - """) - - -@pytest.fixture -def sample_test(tmpdir_cwd): - os.makedirs('name/space/tests') - - # setup.py - with open('setup.py', 'wt') as f: - f.write(SETUP_PY) - - # name/__init__.py - with open('name/__init__.py', 'wb') as f: - f.write(NS_INIT.encode('Latin-1')) - - # name/space/__init__.py - with open('name/space/__init__.py', 'wt') as f: - f.write('#empty\n') - - # name/space/tests/__init__.py - with open('name/space/tests/__init__.py', 'wt') as f: - f.write(TEST_PY) - - -@pytest.mark.skipif('hasattr(sys, "real_prefix")') -@pytest.mark.usefixtures('user_override') -@pytest.mark.usefixtures('sample_test') -class TestTestTest: - - def test_test(self): - params = dict( - name='foo', - packages=['name', 'name.space', 'name.space.tests'], - namespace_packages=['name'], - test_suite='name.space.tests.test_suite', - use_2to3=True, - ) - dist = Distribution(params) - dist.script_name = 'setup.py' - cmd = test(dist) - cmd.user = 1 - cmd.ensure_finalized() - cmd.install_dir = site.USER_SITE - cmd.user = 1 - with contexts.quiet(): - # The test runner calls sys.exit - with contexts.suppress_exceptions(SystemExit): - cmd.run() diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_upload_docs.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_upload_docs.py deleted file mode 100644 index cc71cad..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_upload_docs.py +++ /dev/null @@ -1,59 +0,0 @@ -import os -import zipfile -import contextlib - -import pytest - -from setuptools.command.upload_docs import upload_docs -from setuptools.dist import Distribution - -from .textwrap import DALS -from . import contexts - - -SETUP_PY = DALS( - """ - from setuptools import setup - - setup(name='foo') - """) - - -@pytest.fixture -def sample_project(tmpdir_cwd): - # setup.py - with open('setup.py', 'wt') as f: - f.write(SETUP_PY) - - os.mkdir('build') - - # A test document. - with open('build/index.html', 'w') as f: - f.write("Hello world.") - - # An empty folder. - os.mkdir('build/empty') - - -@pytest.mark.usefixtures('sample_project') -@pytest.mark.usefixtures('user_override') -class TestUploadDocsTest: - - def test_create_zipfile(self): - """ - Ensure zipfile creation handles common cases, including a folder - containing an empty folder. - """ - - dist = Distribution() - - cmd = upload_docs(dist) - cmd.target_dir = cmd.upload_dir = 'build' - with contexts.tempdir() as tmp_dir: - tmp_file = os.path.join(tmp_dir, 'foo.zip') - zip_file = cmd.create_zipfile(tmp_file) - - assert zipfile.is_zipfile(tmp_file) - - with contextlib.closing(zipfile.ZipFile(tmp_file)) as zip_file: - assert zip_file.namelist() == ['index.html'] diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_windows_wrappers.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_windows_wrappers.py deleted file mode 100644 index 5b14d07..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +++ /dev/null @@ -1,183 +0,0 @@ -""" -Python Script Wrapper for Windows -================================= - -setuptools includes wrappers for Python scripts that allows them to be -executed like regular windows programs. There are 2 wrappers, one -for command-line programs, cli.exe, and one for graphical programs, -gui.exe. These programs are almost identical, function pretty much -the same way, and are generated from the same source file. The -wrapper programs are used by copying them to the directory containing -the script they are to wrap and with the same name as the script they -are to wrap. -""" - -from __future__ import absolute_import - -import sys -import textwrap -import subprocess - -import pytest - -from setuptools.command.easy_install import nt_quote_arg -import pkg_resources - - -pytestmark = pytest.mark.skipif(sys.platform != 'win32', reason="Windows only") - - -class WrapperTester: - - @classmethod - def prep_script(cls, template): - python_exe = nt_quote_arg(sys.executable) - return template % locals() - - @classmethod - def create_script(cls, tmpdir): - """ - Create a simple script, foo-script.py - - Note that the script starts with a Unix-style '#!' line saying which - Python executable to run. The wrapper will use this line to find the - correct Python executable. - """ - - script = cls.prep_script(cls.script_tmpl) - - with (tmpdir / cls.script_name).open('w') as f: - f.write(script) - - # also copy cli.exe to the sample directory - with (tmpdir / cls.wrapper_name).open('wb') as f: - w = pkg_resources.resource_string('setuptools', cls.wrapper_source) - f.write(w) - - -class TestCLI(WrapperTester): - script_name = 'foo-script.py' - wrapper_source = 'cli-32.exe' - wrapper_name = 'foo.exe' - script_tmpl = textwrap.dedent(""" - #!%(python_exe)s - import sys - input = repr(sys.stdin.read()) - print(sys.argv[0][-14:]) - print(sys.argv[1:]) - print(input) - if __debug__: - print('non-optimized') - """).lstrip() - - def test_basic(self, tmpdir): - """ - When the copy of cli.exe, foo.exe in this example, runs, it examines - the path name it was run with and computes a Python script path name - by removing the '.exe' suffix and adding the '-script.py' suffix. (For - GUI programs, the suffix '-script.pyw' is added.) This is why we - named out script the way we did. Now we can run out script by running - the wrapper: - - This example was a little pathological in that it exercised windows - (MS C runtime) quoting rules: - - - Strings containing spaces are surrounded by double quotes. - - - Double quotes in strings need to be escaped by preceding them with - back slashes. - - - One or more backslashes preceding double quotes need to be escaped - by preceding each of them with back slashes. - """ - self.create_script(tmpdir) - cmd = [ - str(tmpdir / 'foo.exe'), - 'arg1', - 'arg 2', - 'arg "2\\"', - 'arg 4\\', - 'arg5 a\\\\b', - ] - proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subprocess.PIPE) - stdout, stderr = proc.communicate('hello\nworld\n'.encode('ascii')) - actual = stdout.decode('ascii').replace('\r\n', '\n') - expected = textwrap.dedent(r""" - \foo-script.py - ['arg1', 'arg 2', 'arg "2\\"', 'arg 4\\', 'arg5 a\\\\b'] - 'hello\nworld\n' - non-optimized - """).lstrip() - assert actual == expected - - def test_with_options(self, tmpdir): - """ - Specifying Python Command-line Options - -------------------------------------- - - You can specify a single argument on the '#!' line. This can be used - to specify Python options like -O, to run in optimized mode or -i - to start the interactive interpreter. You can combine multiple - options as usual. For example, to run in optimized mode and - enter the interpreter after running the script, you could use -Oi: - """ - self.create_script(tmpdir) - tmpl = textwrap.dedent(""" - #!%(python_exe)s -Oi - import sys - input = repr(sys.stdin.read()) - print(sys.argv[0][-14:]) - print(sys.argv[1:]) - print(input) - if __debug__: - print('non-optimized') - sys.ps1 = '---' - """).lstrip() - with (tmpdir / 'foo-script.py').open('w') as f: - f.write(self.prep_script(tmpl)) - cmd = [str(tmpdir / 'foo.exe')] - proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT) - stdout, stderr = proc.communicate() - actual = stdout.decode('ascii').replace('\r\n', '\n') - expected = textwrap.dedent(r""" - \foo-script.py - [] - '' - --- - """).lstrip() - assert actual == expected - - -class TestGUI(WrapperTester): - """ - Testing the GUI Version - ----------------------- - """ - script_name = 'bar-script.pyw' - wrapper_source = 'gui-32.exe' - wrapper_name = 'bar.exe' - - script_tmpl = textwrap.dedent(""" - #!%(python_exe)s - import sys - f = open(sys.argv[1], 'wb') - bytes_written = f.write(repr(sys.argv[2]).encode('utf-8')) - f.close() - """).strip() - - def test_basic(self, tmpdir): - """Test the GUI version with the simple scipt, bar-script.py""" - self.create_script(tmpdir) - - cmd = [ - str(tmpdir / 'bar.exe'), - str(tmpdir / 'test_output.txt'), - 'Test Argument', - ] - proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT) - stdout, stderr = proc.communicate() - assert not stdout - assert not stderr - with (tmpdir / 'test_output.txt').open('rb') as f_out: - actual = f_out.read().decode('ascii') - assert actual == repr('Test Argument') diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/textwrap.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/textwrap.py deleted file mode 100644 index 5cd9e5b..0000000 --- a/jython-tosca-parser/src/main/resources/Lib/site-packages/setuptools/tests/textwrap.py +++ /dev/null @@ -1,8 +0,0 @@ -from __future__ import absolute_import - -import textwrap - - -def DALS(s): - "dedent and left-strip" - return textwrap.dedent(s).lstrip() -- cgit 1.2.3-korg