@@ -2350,17 +2350,25 @@ def test_collect_exts_file_info(self):
23502350 toy_sources = os .path .join (testdir , 'sandbox' , 'sources' , 'toy' )
23512351 toy_ext_sources = os .path .join (toy_sources , 'extensions' )
23522352 toy_ec_file = os .path .join (testdir , 'easyconfigs' , 'test_ecs' , 't' , 'toy' , 'toy-0.0-gompi-2018a-test.eb' )
2353- toy_ec = process_easyconfig (toy_ec_file )[0 ]
2353+
2354+ test_ec = os .path .join (self .test_prefix , 'test.eb' )
2355+ new_ext_txt = "('baz', '0.0', {'nosource': True})," # With nosource option
2356+ new_ext_txt += "('barbar', '0.0', {'sources': [SOURCE_TAR_GZ]})," # With sources containing a list
2357+ test_ectxt = re .sub (r'\(name, version' , new_ext_txt + r"\g<0>" , read_file (toy_ec_file ))
2358+ write_file (test_ec , test_ectxt )
2359+
2360+ toy_ec = process_easyconfig (test_ec )[0 ]
23542361 toy_eb = EasyBlock (toy_ec ['ec' ])
23552362
23562363 exts_file_info = toy_eb .collect_exts_file_info ()
23572364
23582365 self .assertIsInstance (exts_file_info , list )
2359- self .assertEqual (len (exts_file_info ), 4 )
2366+ self .assertEqual (len (exts_file_info ), 6 )
23602367
23612368 self .assertEqual (exts_file_info [0 ], {'name' : 'ulimit' })
23622369
23632370 self .assertEqual (exts_file_info [1 ]['name' ], 'bar' )
2371+ self .assertEqual (exts_file_info [1 ]['sources' ], ['bar-0.0.tar.gz' ])
23642372 self .assertEqual (exts_file_info [1 ]['src' ], os .path .join (toy_ext_sources , 'bar-0.0.tar.gz' ))
23652373 bar_patch1 = 'bar-0.0_fix-silly-typo-in-printf-statement.patch'
23662374 self .assertEqual (exts_file_info [1 ]['patches' ][0 ]['name' ], bar_patch1 )
@@ -2370,36 +2378,63 @@ def test_collect_exts_file_info(self):
23702378 self .assertEqual (exts_file_info [1 ]['patches' ][1 ]['path' ], os .path .join (toy_ext_sources , bar_patch2 ))
23712379
23722380 self .assertEqual (exts_file_info [2 ]['name' ], 'barbar' )
2381+ self .assertEqual (exts_file_info [2 ]['sources' ], ['barbar-1.2.tar.gz' ])
23732382 self .assertEqual (exts_file_info [2 ]['src' ], os .path .join (toy_ext_sources , 'barbar-1.2.tar.gz' ))
23742383 self .assertNotIn ('patches' , exts_file_info [2 ])
23752384
2376- self .assertEqual (exts_file_info [3 ]['name' ], 'toy' )
2377- self .assertEqual (exts_file_info [3 ]['src' ], os .path .join (toy_sources , 'toy-0.0.tar.gz' ))
2385+ self .assertEqual (exts_file_info [3 ]['name' ], 'baz' )
2386+ self .assertNotIn ('sources' , exts_file_info [3 ])
2387+ self .assertNotIn ('sources' , exts_file_info [3 ]['options' ])
2388+ self .assertNotIn ('src' , exts_file_info [3 ])
23782389 self .assertNotIn ('patches' , exts_file_info [3 ])
23792390
2391+ self .assertEqual (exts_file_info [4 ]['name' ], 'barbar' )
2392+ self .assertEqual (exts_file_info [4 ]['sources' ], ['barbar-0.0.tar.gz' ])
2393+ self .assertEqual (exts_file_info [4 ]['src' ], os .path .join (toy_ext_sources , 'barbar-0.0.tar.gz' ))
2394+ self .assertNotIn ('patches' , exts_file_info [4 ])
2395+
2396+ self .assertEqual (exts_file_info [5 ]['name' ], 'toy' )
2397+ self .assertEqual (exts_file_info [5 ]['sources' ], ['toy-0.0.tar.gz' ])
2398+ self .assertEqual (exts_file_info [5 ]['src' ], os .path .join (toy_sources , 'toy-0.0.tar.gz' ))
2399+ self .assertNotIn ('patches' , exts_file_info [5 ])
2400+
23802401 # location of files is missing when fetch_files is set to False
23812402 exts_file_info = toy_eb .collect_exts_file_info (fetch_files = False , verify_checksums = False )
23822403
23832404 self .assertIsInstance (exts_file_info , list )
2384- self .assertEqual (len (exts_file_info ), 4 )
2405+ self .assertEqual (len (exts_file_info ), 6 )
23852406
23862407 self .assertEqual (exts_file_info [0 ], {'name' : 'ulimit' })
23872408
23882409 self .assertEqual (exts_file_info [1 ]['name' ], 'bar' )
2410+ self .assertEqual (exts_file_info [1 ]['sources' ], ['bar-0.0.tar.gz' ])
23892411 self .assertNotIn ('src' , exts_file_info [1 ])
23902412 self .assertEqual (exts_file_info [1 ]['patches' ][0 ]['name' ], bar_patch1 )
23912413 self .assertNotIn ('path' , exts_file_info [1 ]['patches' ][0 ])
23922414 self .assertEqual (exts_file_info [1 ]['patches' ][1 ]['name' ], bar_patch2 )
23932415 self .assertNotIn ('path' , exts_file_info [1 ]['patches' ][1 ])
23942416
23952417 self .assertEqual (exts_file_info [2 ]['name' ], 'barbar' )
2418+ self .assertEqual (exts_file_info [2 ]['sources' ], ['barbar-1.2.tar.gz' ])
23962419 self .assertNotIn ('src' , exts_file_info [2 ])
23972420 self .assertNotIn ('patches' , exts_file_info [2 ])
23982421
2399- self .assertEqual (exts_file_info [3 ]['name' ], 'toy' )
2422+ self .assertEqual (exts_file_info [3 ]['name' ], 'baz' )
2423+ self .assertNotIn ('sources' , exts_file_info [3 ])
2424+ self .assertNotIn ('sources' , exts_file_info [3 ]['options' ])
24002425 self .assertNotIn ('src' , exts_file_info [3 ])
24012426 self .assertNotIn ('patches' , exts_file_info [3 ])
24022427
2428+ self .assertEqual (exts_file_info [4 ]['name' ], 'barbar' )
2429+ self .assertEqual (exts_file_info [4 ]['sources' ], ['barbar-0.0.tar.gz' ])
2430+ self .assertNotIn ('src' , exts_file_info [4 ])
2431+ self .assertNotIn ('patches' , exts_file_info [4 ])
2432+
2433+ self .assertEqual (exts_file_info [5 ]['name' ], 'toy' )
2434+ self .assertEqual (exts_file_info [5 ]['sources' ], ['toy-0.0.tar.gz' ])
2435+ self .assertNotIn ('src' , exts_file_info [5 ])
2436+ self .assertNotIn ('patches' , exts_file_info [5 ])
2437+
24032438 error_msg = "Can't verify checksums for extension files if they are not being fetched"
24042439 self .assertErrorRegex (EasyBuildError , error_msg , toy_eb .collect_exts_file_info , fetch_files = False )
24052440
0 commit comments