def test_from_list_url_unspecified(mock_packages, config): """Test non-specific URLs from the url-list-test package.""" pkg = spack.repo.get('url-list-test') spec = Spec('url-list-test @2.0.0').concretized() pkg = spack.repo.get(spec) fetch_strategy = fs.from_list_url(pkg) assert isinstance(fetch_strategy, fs.URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == 'foo-2.0.0.tar.gz' assert fetch_strategy.digest is None assert fetch_strategy.extra_options == {} pkg.fetch_options = {'timeout': 60} fetch_strategy = fs.from_list_url(pkg) assert fetch_strategy.extra_options == {'timeout': 60}
def test_from_list_url(mock_packages, config, spec, url, digest): """ Test URLs in the url-list-test package, which means they should have checksums in the package. """ specification = Spec(spec).concretized() pkg = spack.repo.get(specification) fetch_strategy = fs.from_list_url(pkg) assert isinstance(fetch_strategy, fs.URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == url assert fetch_strategy.digest == digest assert fetch_strategy.extra_options == {} pkg.fetch_options = {'timeout': 60} fetch_strategy = fs.from_list_url(pkg) assert fetch_strategy.extra_options == {'timeout': 60}
def test_from_list_url(mock_packages, config, spec, url, digest, _fetch_method): """ Test URLs in the url-list-test package, which means they should have checksums in the package. """ with spack.config.override('config:url_fetch_method', _fetch_method): s = Spec(spec).concretized() fetch_strategy = fs.from_list_url(s.package) assert isinstance(fetch_strategy, fs.URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == url assert fetch_strategy.digest == digest assert fetch_strategy.extra_options == {} s.package.fetch_options = {'timeout': 60} fetch_strategy = fs.from_list_url(s.package) assert fetch_strategy.extra_options == {'timeout': 60}
def test_new_version_from_list_url(mock_packages, config, _fetch_method, requested_version, tarball, digest): if spack.config.get('config:concretizer') == 'original': pytest.skip( "Original concretizer doesn't resolve concrete versions to known ones" ) """Test non-specific URLs from the url-list-test package.""" with spack.config.override("config:url_fetch_method", _fetch_method): s = Spec("url-list-test @%s" % requested_version).concretized() fetch_strategy = fs.from_list_url(s.package) assert isinstance(fetch_strategy, fs.URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == tarball assert fetch_strategy.digest == digest assert fetch_strategy.extra_options == {} s.package.fetch_options = {"timeout": 60} fetch_strategy = fs.from_list_url(s.package) assert fetch_strategy.extra_options == {"timeout": 60}
def test_from_list_url(builtin_mock, config): pkg = spack.repo.get('url-list-test', new=True) for ver_str in [ '0.0.0', '1.0.0', '2.0.0', '3.0', '4.5', '2.0.0b2', '3.0a1', '4.5-rc5' ]: spec = Spec('url-list-test@%s' % ver_str) spec.concretize() pkg.spec = spec fetch_strategy = from_list_url(pkg) assert isinstance(fetch_strategy, URLFetchStrategy) assert (os.path.basename(fetch_strategy.url) == ('foo-' + ver_str + '.tar.gz'))
def test_nosource_from_list_url(mock_packages, config): """This test confirms BundlePackages do not have list url.""" pkg = spack.repo.get('nosource') fetch_strategy = fs.from_list_url(pkg) assert fetch_strategy is None
def test_from_list_url(mock_packages, config): pkg = spack.repo.get('url-list-test') # These URLs are all in the url-list-test package and should have # checksums taken from the package. spec = Spec('url-list-test @0.0.0').concretized() pkg = spack.repo.get(spec) fetch_strategy = from_list_url(pkg) assert isinstance(fetch_strategy, URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == 'foo-0.0.0.tar.gz' assert fetch_strategy.digest == 'abc000' spec = Spec('url-list-test @1.0.0').concretized() pkg = spack.repo.get(spec) fetch_strategy = from_list_url(pkg) assert isinstance(fetch_strategy, URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == 'foo-1.0.0.tar.gz' assert fetch_strategy.digest == 'abc100' spec = Spec('url-list-test @3.0').concretized() pkg = spack.repo.get(spec) fetch_strategy = from_list_url(pkg) assert isinstance(fetch_strategy, URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == 'foo-3.0.tar.gz' assert fetch_strategy.digest == 'abc30' spec = Spec('url-list-test @4.5').concretized() pkg = spack.repo.get(spec) fetch_strategy = from_list_url(pkg) assert isinstance(fetch_strategy, URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == 'foo-4.5.tar.gz' assert fetch_strategy.digest == 'abc45' spec = Spec('url-list-test @2.0.0b2').concretized() pkg = spack.repo.get(spec) fetch_strategy = from_list_url(pkg) assert isinstance(fetch_strategy, URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == 'foo-2.0.0b2.tar.gz' assert fetch_strategy.digest == 'abc200b2' spec = Spec('url-list-test @3.0a1').concretized() pkg = spack.repo.get(spec) fetch_strategy = from_list_url(pkg) assert isinstance(fetch_strategy, URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == 'foo-3.0a1.tar.gz' assert fetch_strategy.digest == 'abc30a1' spec = Spec('url-list-test @4.5-rc5').concretized() pkg = spack.repo.get(spec) fetch_strategy = from_list_url(pkg) assert isinstance(fetch_strategy, URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == 'foo-4.5-rc5.tar.gz' assert fetch_strategy.digest == 'abc45rc5' # this one is not in the url-list-test package. spec = Spec('url-list-test @2.0.0').concretized() pkg = spack.repo.get(spec) fetch_strategy = from_list_url(pkg) assert isinstance(fetch_strategy, URLFetchStrategy) assert os.path.basename(fetch_strategy.url) == 'foo-2.0.0.tar.gz' assert fetch_strategy.digest is None
def test_nosource_from_list_url(mock_packages, config): """This test confirms BundlePackages do not have list url.""" s = Spec('nosource').concretized() fetch_strategy = fs.from_list_url(s.package) assert fetch_strategy is None