diff --git a/test/__init__.py b/test/__init__.py index 3cc14930..1b24935c 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -1,6 +1,15 @@ import os import sys +try: + from urllib.parse import urljoin + from urllib.request import pathname2url +except ImportError: + from urlparse import urljoin + from urllib import pathname2url sys.path.insert(0, os.path.join( os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'src')) + +def path_to_url(path): + return urljoin('file:', pathname2url(path)) diff --git a/test/test_cache.py b/test/test_cache.py index 497af221..0b3b5372 100644 --- a/test/test_cache.py +++ b/test/test_cache.py @@ -2,10 +2,12 @@ from rosdistro import get_distribution_cache, get_index +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) def test_get_release_cache(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) i = get_index(url) get_distribution_cache(i, 'foo') diff --git a/test/test_distribution.py b/test/test_distribution.py index 1ea37aa4..b84208b1 100644 --- a/test/test_distribution.py +++ b/test/test_distribution.py @@ -6,11 +6,13 @@ import yaml +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) def test_distribution_file(): - url = 'file://' + FILES_DIR + '/foo/distribution.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'foo', 'distribution.yaml')) yaml_str = load_url(url) data = yaml.safe_load(yaml_str) dist_file = DistributionFile('foo', data) @@ -18,7 +20,7 @@ def test_distribution_file(): def test_get_distribution_file(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) i = get_index(url) dist_file = get_distribution_file(i, 'foo') _validate_dist_file(dist_file) diff --git a/test/test_doc.py b/test/test_doc.py index 5dd04cc6..2d033353 100644 --- a/test/test_doc.py +++ b/test/test_doc.py @@ -6,11 +6,13 @@ import yaml +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) def test_doc_file(): - url = 'file://' + FILES_DIR + '/foo/distribution.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'foo', 'distribution.yaml')) yaml_str = load_url(url) data = yaml.safe_load(yaml_str) doc_file = DocFile('foo', data) @@ -18,7 +20,7 @@ def test_doc_file(): def test_get_doc_file(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) i = get_index(url) doc_file = get_doc_file(i, 'foo') _validate_doc_file(doc_file) diff --git a/test/test_doc_build.py b/test/test_doc_build.py index 4265975d..86d4a8b5 100644 --- a/test/test_doc_build.py +++ b/test/test_doc_build.py @@ -6,18 +6,20 @@ import yaml +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) def test_doc_build_file(): - url = 'file://' + FILES_DIR + '/foo/doc-build.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'foo', 'doc-build.yaml')) yaml_str = load_url(url) data = yaml.safe_load(yaml_str) DocBuildFile('foo', data) def test_get_doc_build_files(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) i = get_index(url) files = get_doc_build_files(i, 'foo') assert len(files) == 1 diff --git a/test/test_index.py b/test/test_index.py index 1208f8aa..7a20292c 100644 --- a/test/test_index.py +++ b/test/test_index.py @@ -5,6 +5,8 @@ from rosdistro import get_index from rosdistro import get_index_url +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) @@ -13,7 +15,7 @@ def test_get_index_url(): def test_get_index_v2(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) i = get_index(url) assert len(i.distributions.keys()) == 1 assert 'foo' in i.distributions.keys() @@ -23,7 +25,7 @@ def test_get_index_v2(): def test_get_index_v3(): - url = 'file://' + FILES_DIR + '/index_v3.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v3.yaml')) i = get_index(url) assert len(i.distributions.keys()) == 1 assert 'foo' in i.distributions.keys() @@ -37,7 +39,7 @@ def test_get_index_v3(): def test_get_index_v3_invalid(): - url = 'file://' + FILES_DIR + '/index_v3_invalid.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v3_invalid.yaml')) i = get_index(url) dist_files = get_distribution_files(i, 'foo') @@ -50,7 +52,7 @@ def test_get_index_v3_invalid(): def test_get_index_v4(): - url = 'file://' + FILES_DIR + '/index_v4.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v4.yaml')) i = get_index(url) assert len(i.distributions.keys()) == 1 assert 'foo' in i.distributions.keys() diff --git a/test/test_manifest_providers.py b/test/test_manifest_providers.py index a9a4eb04..b4e5d953 100644 --- a/test/test_manifest_providers.py +++ b/test/test_manifest_providers.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +import os + try: from unittest.mock import patch except ImportError: @@ -109,7 +111,7 @@ def test_git_source_multi(): repo_cache = git_source_manifest_provider(_ros_source_repo()) assert repo_cache.ref() package_path, package_xml = repo_cache['roslib'] - assert package_path == 'core/roslib' + assert package_path == os.path.join('core', 'roslib') def test_tar_source(): diff --git a/test/test_release.py b/test/test_release.py index 11421758..9260d962 100644 --- a/test/test_release.py +++ b/test/test_release.py @@ -6,11 +6,13 @@ import yaml +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) def test_release_file(): - url = 'file://' + FILES_DIR + '/foo/distribution.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'foo', 'distribution.yaml')) yaml_str = load_url(url) data = yaml.safe_load(yaml_str) rel_file = ReleaseFile('foo', data) @@ -18,7 +20,7 @@ def test_release_file(): def test_get_release_file(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) i = get_index(url) rel_file = get_release_file(i, 'foo') _validate_rel_file(rel_file) diff --git a/test/test_release_build.py b/test/test_release_build.py index b53676c6..30fe473d 100644 --- a/test/test_release_build.py +++ b/test/test_release_build.py @@ -6,24 +6,26 @@ import yaml +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) def test_release_build_file(): - url = 'file://' + FILES_DIR + '/foo/release-build.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'foo', 'release-build.yaml')) yaml_str = load_url(url) data = yaml.safe_load(yaml_str) ReleaseBuildFile('foo', data) def test_get_release_build_files(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) i = get_index(url) get_release_build_files(i, 'foo') def test_get_release_builds(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) i = get_index(url) d = get_release(i, 'foo') builds = get_release_builds(i, d) diff --git a/test/test_source.py b/test/test_source.py index 6c15757e..8d0ba457 100644 --- a/test/test_source.py +++ b/test/test_source.py @@ -6,11 +6,13 @@ import yaml +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) def test_source_file(): - url = 'file://' + FILES_DIR + '/foo/distribution.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'foo', 'distribution.yaml')) yaml_str = load_url(url) data = yaml.safe_load(yaml_str) src_file = SourceFile('foo', data) @@ -18,7 +20,7 @@ def test_source_file(): def test_get_source_file(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) i = get_index(url) src_file = get_source_file(i, 'foo') _validate_src_file(src_file) diff --git a/test/test_source_build.py b/test/test_source_build.py index ac2ed720..304f8653 100644 --- a/test/test_source_build.py +++ b/test/test_source_build.py @@ -6,18 +6,20 @@ import yaml +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) def test_source_build_file(): - url = 'file://' + FILES_DIR + '/foo/source-build.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'foo', 'source-build.yaml')) yaml_str = load_url(url) data = yaml.safe_load(yaml_str) SourceBuildFile('foo', data) def test_get_source_build_files(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) i = get_index(url) files = get_source_build_files(i, 'foo') assert len(files) == 1 diff --git a/test/test_verify.py b/test/test_verify.py index 5afe57c9..5ceac594 100644 --- a/test/test_verify.py +++ b/test/test_verify.py @@ -2,14 +2,16 @@ from rosdistro.verify import verify_files_identical, verify_files_parsable +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) def test_verify_files_parsable(): - index_url = 'file://' + FILES_DIR + '/index_v2.yaml' + index_url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) assert verify_files_parsable(index_url) def test_verify_files_identical(): - index_url = 'file://' + FILES_DIR + '/index_v2.yaml' + index_url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) assert verify_files_identical(index_url) diff --git a/test/test_writer.py b/test/test_writer.py index bc8ef7f0..9d5a32ea 100644 --- a/test/test_writer.py +++ b/test/test_writer.py @@ -5,6 +5,8 @@ from rosdistro.writer import yaml_from_distribution_file +from . import path_to_url + FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) @@ -30,7 +32,7 @@ def get_diff(expected, actual): def test_verify_files_parsable(): - url = 'file://' + FILES_DIR + '/index_v2.yaml' + url = path_to_url(os.path.join(FILES_DIR, 'index_v2.yaml')) index = get_index(url) distribution_file = get_distribution_file(index, 'foo') data = yaml_from_distribution_file(distribution_file)