summaryrefslogtreecommitdiff
path: root/wheel/test/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'wheel/test/__init__.py')
-rw-r--r--wheel/test/__init__.py125
1 files changed, 1 insertions, 124 deletions
diff --git a/wheel/test/__init__.py b/wheel/test/__init__.py
index 3ee5657..4287ca8 100644
--- a/wheel/test/__init__.py
+++ b/wheel/test/__init__.py
@@ -1,124 +1 @@
-import os
-import distutils
-import pkg_resources
-import json
-import sys
-
-from pkg_resources import resource_filename
-
-from nose.tools import assert_true, assert_false, assert_equal, raises
-
-import wheel.util
-from wheel import egg2wheel
-from wheel.install import WheelFile
-from zipfile import ZipFile
-
-
-def test_findable():
- """Make sure pkg_resources can find us."""
- assert pkg_resources.working_set.by_key['wheel'].version
-
-
-def test_egg_re():
- """Make sure egg_info_re matches."""
- egg_names = open(pkg_resources.resource_filename('wheel', 'eggnames.txt'))
- for line in egg_names:
- line = line.strip()
- if not line:
- continue
- assert egg2wheel.egg_info_re.match(line), line
-
-
-def test_compatibility_tags():
- """Test compatibilty tags are working."""
- wf = WheelFile("package-1.0.0-cp32.cp33-noabi-noarch.whl")
- assert_equal(list(wf.compatibility_tags),
- [('cp32', 'noabi', 'noarch'), ('cp33', 'noabi', 'noarch')])
- assert_equal(wf.arity, 2)
-
- wf2 = WheelFile("package-1.0.0-1st-cp33-noabi-noarch.whl")
- wf2_info = wf2.parsed_filename.groupdict()
- assert wf2_info['build'] == '1st', wf2_info
-
-
-def test_bdist_wheel():
- """Make sure bdist_wheel finish without errors."""
- for dist in ("simple.dist", "complex-dist"):
- pwd = os.curdir
- simpledist = pkg_resources.resource_filename('wheel.test', dist)
- os.chdir(simpledist)
- try:
- sys.argv = ['', 'bdist_wheel']
- exec(compile(open('setup.py').read(), 'setup.py', 'exec'))
- finally:
- os.chdir(pwd)
-
-def test_pymeta():
- """Make sure pymeta.json exists and validates against our schema."""
- # XXX this test may need manual cleanup of older wheels
-
- import jsonschema
-
- def open_json(filename):
- return json.loads(open(filename, 'rb').read().decode('utf-8'))
-
- pymeta_schema = open_json(resource_filename('wheel.test',
- 'pymeta-schema.json'))
- valid = 0
- for dist in ("simple.dist", "complex-dist"):
- basedir = pkg_resources.resource_filename('wheel.test', dist)
- for (dirname, subdirs, filenames) in os.walk(basedir):
- for filename in filenames:
- if filename.endswith('.whl'):
- whl = ZipFile(os.path.join(dirname, filename))
- for entry in whl.infolist():
- if entry.filename.endswith('/pymeta.json'):
- pymeta = json.loads(whl.read(entry).decode('utf-8'))
- jsonschema.validate(pymeta, pymeta_schema)
- valid += 1
- assert valid > 0, "No pymeta.json found"
-
-def test_util():
- """Test functions in util.py."""
- for i in range(10):
- before = b'*' * i
- encoded = wheel.util.urlsafe_b64encode(before)
- assert not encoded.endswith(b'=')
- after = wheel.util.urlsafe_b64decode(encoded)
- assert before == after
-
-
-def test_pick_best():
- """Test the wheel ranking algorithm."""
- def get_tags(res):
- info = res[-1].parsed_filename.groupdict()
- return info['pyver'], info['abi'], info['plat']
-
- cand_tags = [('py27', 'noabi', 'noarch'), ('py26', 'noabi', 'noarch'),
- ('cp27', 'noabi', 'linux_i686'),
- ('cp26', 'noabi', 'linux_i686'),
- ('cp27', 'noabi', 'linux_x86_64'),
- ('cp26', 'noabi', 'linux_x86_64')]
- cand_wheels = [WheelFile('testpkg-1.0-%s-%s-%s.whl' % t)
- for t in cand_tags]
-
- supported = [('cp27', 'noabi', 'linux_i686'), ('py27', 'noabi', 'noarch')]
- supported2 = [('cp27', 'noabi', 'linux_i686'), ('py27', 'noabi', 'noarch'),
- ('cp26', 'noabi', 'linux_i686'), ('py26', 'noabi', 'noarch')]
- supported3 = [('cp26', 'noabi', 'linux_i686'), ('py26', 'noabi', 'noarch'),
- ('cp27', 'noabi', 'linux_i686'), ('py27', 'noabi', 'noarch')]
-
- for supp in (supported, supported2, supported3):
- context = lambda: list(supp)
- for wheel in cand_wheels:
- wheel.context = context
- best = max(cand_wheels)
- assert_equal(list(best.tags)[0], supp[0])
-
- # assert_equal(
- # list(map(get_tags, pick_best(cand_wheels, supp, top=False))), supp)
-
-
-if __name__ == '__main__':
- import nose
- nose.main()
+# \ No newline at end of file