def setUp(self): self.wheels = { 'torch_cpu': [ avail_wheels.Wheel(filename="torch_cpu", name="torch_cpu", parse=False) ], 'numpy': [avail_wheels.Wheel(filename="numpy", name="numpy", parse=False)] } self.wheel_names = ['a', 'b', 'torch*']
def test_not_avail_empty(self): """ Test that an empty dict of wheels only contains the given wheel names. """ ret = avail_wheels.add_not_available_wheels({}, self.wheel_names) self.assertEqual( ret, { 'a': [avail_wheels.Wheel(filename='a', name='a', parse=False)], 'b': [avail_wheels.Wheel(filename='b', name='b', parse=False)], 'torch*': [ avail_wheels.Wheel( filename="torch*", name="torch*", parse=False) ] })
def test_not_avail(self): """ Test that wheels patterns are not added if they previously matched. """ ret = avail_wheels.add_not_available_wheels(self.wheels, self.wheel_names) self.assertEqual( ret, { 'a': [avail_wheels.Wheel(filename='a', name='a', parse=False)], 'b': [avail_wheels.Wheel(filename='b', name='b', parse=False)], 'torch_cpu': [ avail_wheels.Wheel( filename="torch_cpu", name="torch_cpu", parse=False) ], 'numpy': [ avail_wheels.Wheel( filename="numpy", name="numpy", parse=False) ] })
def test_parse_tags(self): filenames = [ "avx2/netCDF4-1.3.1-cp36-cp36m-linux_x86_64.whl", "avx/tensorflow_cpu-1.6.0+computecanada-cp36-cp36m-linux_x86_64.whl", "generic/backports.functools_lru_cache-1.4-py2.py3-none-any.whl", "sse3/Shapely-1.6.2.post1-cp35-cp35m-linux_x86_64.whl" ] tags = { filenames[0]: { 'arch': 'avx2', 'name': 'netCDF4', 'version': '1.3.1', 'build': '', 'python': 'cp36', 'abi': 'cp36m', 'platform': 'linux_x86_64' }, filenames[1]: { 'arch': 'avx', 'name': 'tensorflow_cpu', 'version': '1.6.0', 'build': "computecanada", 'python': 'cp36', 'abi': 'cp36m', 'platform': 'linux_x86_64' }, filenames[2]: { 'arch': 'generic', 'name': 'backports.functools_lru_cache', 'version': '1.4', 'build': '', 'python': 'py2.py3', 'abi': 'none', 'platform': "any" }, filenames[3]: { 'arch': 'sse3', 'name': 'Shapely', 'version': '1.6.2.post1', 'build': '', 'python': 'cp35', 'abi': 'cp35m', 'platform': "linux_x86_64" } } for file in filenames: wheel = avail_wheels.Wheel(file) self.assertEqual(wheel.filename, file) self.assertEqual(wheel.arch, tags[file]['arch']) self.assertEqual(wheel.name, tags[file]['name']) self.assertEqual(wheel.version, tags[file]['version']) self.assertEqual(wheel.build, tags[file]['build']) self.assertEqual(wheel.python, tags[file]['python']) self.assertEqual(wheel.abi, tags[file]['abi']) self.assertEqual(wheel.platform, tags[file]['platform'])
def test_get_wheels_wildname_arch_python(self): arch = 'avx2' search_paths = [f"{self.wheelhouse}/{self.current_stack}/{arch}"] pythons = ['3.6'] wildname = "*CDF*" other = { 'netCDF4': [ avail_wheels.Wheel( f"{arch}/{self.raw_filenames['netCDF4'][2]}"), avail_wheels.Wheel( f"{arch}/{self.raw_filenames['netCDF4'][3]}") ] } ret = avail_wheels.get_wheels(paths=search_paths, pythons=pythons, names_versions=product([wildname], "*"), latest=False) self.assertEqual(ret, other)
def test_get_wheels_arch_all_pythons(self): arch = 'avx2' search_paths = [f'{self.wheelhouse}/{self.current_stack}/{arch}'] other = {'netCDF4': [], 'torch_cpu': []} for wheel_name, files in self.raw_filenames.items(): for file in files: other[wheel_name].append(avail_wheels.Wheel(f"{arch}/{file}")) ret = avail_wheels.get_wheels(paths=search_paths, pythons=avail_wheels.AVAILABLE_PYTHONS, names_versions=product('*', '*'), latest=False) self.assertEqual(ret, other)
def test_ctor_kwargs(self): wheel = avail_wheels.Wheel(filename="file", parse=False, arch='avx', name='torch_cpu', version='1.2.0', build="computecanada", python="cp36", abi="cp36m", platform="linux_x86_64") self.assertEqual(wheel.filename, "file") self.assertEqual(wheel.arch, "avx") self.assertEqual(wheel.name, "torch_cpu") self.assertEqual(wheel.version, "1.2.0") self.assertEqual(wheel.build, "computecanada") self.assertEqual(wheel.python, "cp36") self.assertEqual(wheel.abi, "cp36m") self.assertEqual(wheel.platform, "linux_x86_64")
def setUp(self): self.wheel = avail_wheels.Wheel( "avx/netCDF4-1.3.1-cp27-cp27mu-linux_x86_64.whl")
def setUp(self): self.wheels = { 'netCDF4': [ avail_wheels.Wheel( "avx/netCDF4-1.3.1-cp27-cp27mu-linux_x86_64.whl"), avail_wheels.Wheel( "avx/netCDF4-1.3.1-cp35-cp35m-linux_x86_64.whl"), avail_wheels.Wheel( "avx/netCDF4-1.3.1-cp36-cp36m-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3.1-cp27-cp27mu-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3.1-cp35-cp35m-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3.1-cp36-cp36m-linux_x86_64.whl"), avail_wheels.Wheel( "sse3/netCDF4-1.3.1-cp27-cp27mu-linux_x86_64.whl"), avail_wheels.Wheel( "sse3/netCDF4-1.3.1-cp35-cp35m-linux_x86_64.whl"), avail_wheels.Wheel( "sse3/netCDF4-1.3.1-cp36-cp36m-linux_x86_64.whl"), avail_wheels.Wheel( "generic/netCDF4-1.4.0-cp27-cp27mu-linux_x86_64.whl"), avail_wheels.Wheel( "generic/netCDF4-1.2.8-cp27-cp27mu-linux_x86_64.whl") ], "botocore": [ avail_wheels.Wheel( "generic/botocore-1.10.63-py2.py3-none-any.whl"), avail_wheels.Wheel( "generic/botocore-1.9.5-py2.py3-none-any.whl"), avail_wheels.Wheel( "generic/botocore-1.10.57-py2.py3-none-any.whl"), avail_wheels.Wheel( "generic/botocore-1.9.11-py2.py3-none-any.whl") ], "pydicom": [ avail_wheels.Wheel( "generic/pydicom-1.1.0-1-py2.py3-none-any.whl"), avail_wheels.Wheel("generic/pydicom-0.9.9-py3-none-any.whl") ], "torch_cpu": [ avail_wheels.Wheel( "avx2/torch_cpu-0.4.0-cp36-cp36m-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/torch_cpu-0.2.0+d8f3c60-cp27-cp27mu-linux_x86_64.whl" ) ] } self.wheels['netCDF4'].reverse() self.output = [['botocore', '1.10.63', '', 'py2.py3', 'generic'], ['botocore', '1.10.57', '', 'py2.py3', 'generic'], ['botocore', '1.9.11', '', 'py2.py3', 'generic'], ['botocore', '1.9.5', '', 'py2.py3', 'generic'], ['netCDF4', '1.4.0', '', 'cp27', 'generic'], ['netCDF4', '1.3.1', '', 'cp36', 'sse3'], ['netCDF4', '1.3.1', '', 'cp35', 'sse3'], ['netCDF4', '1.3.1', '', 'cp27', 'sse3'], ['netCDF4', '1.3.1', '', 'cp36', 'avx2'], ['netCDF4', '1.3.1', '', 'cp35', 'avx2'], ['netCDF4', '1.3.1', '', 'cp27', 'avx2'], ['netCDF4', '1.3.1', '', 'cp36', 'avx'], ['netCDF4', '1.3.1', '', 'cp35', 'avx'], ['netCDF4', '1.3.1', '', 'cp27', 'avx'], ['netCDF4', '1.2.8', '', 'cp27', 'generic'], ["pydicom", "1.1.0", "1", "py2.py3", "generic"], ["pydicom", "0.9.9", "", "py3", "generic"], ["torch_cpu", "0.4.0", "", "cp36", "avx2"], ["torch_cpu", "0.2.0", "d8f3c60", "cp27", "avx2"]] self.condensed_output = [ [ "botocore", "1.10.63, 1.10.57, 1.9.11, 1.9.5", '', "py2.py3", "generic" ], [ "netCDF4", "1.4.0, 1.3.1, 1.2.8", '', "cp36, cp35, cp27", "sse3, generic, avx2, avx" ], ["pydicom", "1.1.0, 0.9.9", "1, ", "py3, py2.py3", "generic"], ["torch_cpu", "0.4.0, 0.2.0", ", d8f3c60", "cp36, cp27", "avx2"] ]
def setUp(self): self.wheels = { 'netCDF4': [ avail_wheels.Wheel( "avx2/netCDF4-1.3.2-cp36-cp36m-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3.2-cp35-cp35m-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3.2-cp27-cp27mu-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3.1-cp36-cp36m-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3.1-cp36-cp36m-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3.1-cp36-cp36m-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.2.0-cp36-cp36m-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3-cp36-cp36m-linux_x86_64.whl") ], 'torch_cpu': [ avail_wheels.Wheel( "avx2/torch_cpu-0.4.0-cp36-cp36m-linux_x86_64.whl") ] } self.wheels['netCDF4'].reverse() self.latest_wheels = { 'netCDF4': [ avail_wheels.Wheel( "avx2/netCDF4-1.3.2-cp27-cp27mu-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3.2-cp35-cp35m-linux_x86_64.whl"), avail_wheels.Wheel( "avx2/netCDF4-1.3.2-cp36-cp36m-linux_x86_64.whl") ], 'torch_cpu': [ avail_wheels.Wheel( "avx2/torch_cpu-0.4.0-cp36-cp36m-linux_x86_64.whl") ] }
def test_ctor_noparse(self): wheel = avail_wheels.Wheel("file", parse=False) self.assertEqual(wheel.filename, "file")
def test_wheel_noteq_instance(self): a, b = avail_wheels.Wheel( "avx2/torch_cpu-0.4.0-cp36-cp36m-linux_x86_64.whl" ), "avx2/torch_cpu-0.4.0-cp36-cp36m-linux_x86_64.whl" self.assertNotEqual(a, b)
def test_wheel_eq(self): a, b = avail_wheels.Wheel( "avx2/torch_cpu-0.4.0-cp36-cp36m-linux_x86_64.whl" ), avail_wheels.Wheel( "avx2/torch_cpu-0.4.0-cp36-cp36m-linux_x86_64.whl") self.assertEqual(a, b)
def test_wheel_print(self): wheel = str(avail_wheels.Wheel("file", parse=False)) self.assertEqual(wheel, "file")