Bugfix: from_list_url(). (#5780)

This fixes a bug in from_list_url where it was referring to a method
which no longer exists. This also adds a test for the from_list_url
function.
This commit is contained in:
Sergey Kosukhin
2017-10-28 02:41:41 +02:00
committed by scheibelp
parent 95c8ecb6f5
commit 5ebddcd5e3
3 changed files with 65 additions and 1 deletions

View File

@@ -960,7 +960,7 @@ def from_list_url(pkg):
the specified package's version."""
if pkg.list_url:
try:
versions = pkg.fetch_remote_package_versions()
versions = pkg.fetch_remote_versions()
try:
url_from_list = versions[pkg.version]
digest = None

View File

@@ -28,6 +28,7 @@
from llnl.util.filesystem import working_dir, is_exe
import spack
from spack.fetch_strategy import from_list_url, URLFetchStrategy
from spack.spec import Spec
from spack.version import ver
import spack.util.crypto as crypto
@@ -82,6 +83,20 @@ def test_fetch(
assert 'echo Building...' in contents
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_hash_detection(checksum_type):
algo = crypto.hashes[checksum_type]()
h = 'f' * (algo.digest_size * 2) # hex -> bytes