From b879761ce6606caaa9b7273ccd1edca65c2b3893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Fri, 4 Aug 2017 12:38:23 +0200 Subject: [PATCH] unversioned_shebangs: Use globs for rpms in tests --- test/functional/common.py | 11 +++++++-- test/functional/test_unversioned_shebangs.py | 24 ++++++++++---------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/test/functional/common.py b/test/functional/common.py index 5a45754..6da108d 100644 --- a/test/functional/common.py +++ b/test/functional/common.py @@ -4,9 +4,16 @@ from taskotron_python_versions.common import Package -def pkg(filename): +def pkg_path(filename): + """Returns a path for given rpm in fixture""" return os.path.join(os.path.dirname(__file__), '..', 'fixtures', filename) +def gpkg_path(pkgglob): + """Returns a path for the first rpm satisfying given glob""" + return glob.glob(pkg_path(pkgglob))[0] + + def gpkg(pkgglob): - return Package(glob.glob(pkg(pkgglob))[0]) + """Returns a Package object for the first rpm satisfying given glob""" + return Package(gpkg_path(pkgglob)) diff --git a/test/functional/test_unversioned_shebangs.py b/test/functional/test_unversioned_shebangs.py index ae41d62..a340300 100644 --- a/test/functional/test_unversioned_shebangs.py +++ b/test/functional/test_unversioned_shebangs.py @@ -6,7 +6,7 @@ shebang_to_require, get_scripts_summary, ) -from .common import pkg, gpkg +from .common import gpkg, gpkg_path @pytest.mark.parametrize(('line', 'query', 'expected'), ( @@ -27,17 +27,17 @@ def test_matches(line, query, expected): @pytest.mark.parametrize(('archive', 'query', 'expected'), ( - ('tracer-0.6.9-2.fc25.noarch.rpm', + ('tracer*', '#!/usr/bin/python', {'/usr/bin/tracer'}), - ('python3-django-1.10.7-1.fc26.noarch.rpm', '#!/usr/bin/env python', + ('python3-django*', '#!/usr/bin/env python', {'/usr/lib/python3.6/site-packages/django/bin/django-admin.py', ('/usr/lib/python3.6/site-packages/' 'django/conf/project_template/manage.py-tpl')}), - ('python3-django-1.10.7-1.fc26.noarch.rpm', '#!/usr/bin/python', set()), - ('pyserial-2.7-6.fc25.noarch.rpm', '#!/usr/bin/python', set()), + ('python3-django*', '#!/usr/bin/python', set()), + ('pyserial*', '#!/usr/bin/python', set()), )) def test_get_problematic_files(archive, query, expected): - assert get_problematic_files(pkg(archive), query) == expected + assert get_problematic_files(gpkg_path(archive), query) == expected @pytest.mark.parametrize(('shebang', 'expected'), ( @@ -49,15 +49,15 @@ def test_shebang_to_require(shebang, expected): assert shebang_to_require(shebang) == expected -@pytest.mark.parametrize(('path', 'expected'), ( - ('tracer-0.6.9-2.fc25.noarch.rpm', +@pytest.mark.parametrize(('glob', 'expected'), ( + ('tracer*', {'#!/usr/bin/python': {'/usr/bin/tracer'}}), - ('python3-django-1.10.7-1.fc26.noarch.rpm', + ('python3-django*', {'#!/usr/bin/env python': {'/usr/lib/python3.6/site-packages/django/bin/django-admin.py', ('/usr/lib/python3.6/site-packages/' 'django/conf/project_template/manage.py-tpl')}}), - ('pyserial-2.7-6.fc25.noarch.rpm', {}), + ('pyserial*', {}), )) -def test_get_scripts_summary(path, expected): - assert get_scripts_summary(gpkg(path)) == expected +def test_get_scripts_summary(glob, expected): + assert get_scripts_summary(gpkg(glob)) == expected