@@ -349,6 +349,14 @@ def test_checksums(self):
349349 alt_checksums = ('7167b64b1ca062b9674ffef46f9325db7167b64b1ca062b9674ffef46f9325db' , broken_checksums ['sha256' ])
350350 self .assertFalse (ft .verify_checksum (fp , alt_checksums ))
351351
352+ # Check dictionary
353+ alt_checksums = (known_checksums ['sha256' ],)
354+ self .assertTrue (ft .verify_checksum (fp , {os .path .basename (fp ): known_checksums ['sha256' ]}))
355+ faulty_dict = {'wrong-name' : known_checksums ['sha256' ]}
356+ self .assertErrorRegex (EasyBuildError ,
357+ "Missing checksum for " + os .path .basename (fp ) + " in .*wrong-name.*" ,
358+ ft .verify_checksum , fp , faulty_dict )
359+
352360 # check whether missing checksums are enforced
353361 build_options = {
354362 'enforce_checksums' : True ,
@@ -363,6 +371,8 @@ def test_checksums(self):
363371 for checksum in [known_checksums [x ] for x in ('md5' , 'sha256' )]:
364372 dict_checksum = {os .path .basename (fp ): checksum , 'foo' : 'baa' }
365373 self .assertTrue (ft .verify_checksum (fp , dict_checksum ))
374+ del dict_checksum [os .path .basename (fp )]
375+ self .assertErrorRegex (EasyBuildError , "Missing checksum for" , ft .verify_checksum , fp , dict_checksum )
366376
367377 def test_common_path_prefix (self ):
368378 """Test get common path prefix for a list of paths."""
0 commit comments