@@ -301,7 +301,9 @@ def test_dependency(self):
301301 self .assertEqual (det_full_ec_version (first ), '1.1-GCC-4.6.3' )
302302 self .assertEqual (det_full_ec_version (second ), '2.2-GCC-4.6.3' )
303303
304+ self .assertEqual (eb .dependency_names (), {'first' , 'second' , 'foo' , 'bar' })
304305 # same tests for builddependencies
306+ self .assertEqual (eb .dependency_names (build_only = True ), {'first' , 'second' })
305307 first = eb .builddependencies ()[0 ]
306308 second = eb .builddependencies ()[1 ]
307309
@@ -354,6 +356,7 @@ def test_false_dep_version(self):
354356 self .assertEqual (len (deps ), 2 )
355357 self .assertEqual (deps [0 ]['name' ], 'second_build' )
356358 self .assertEqual (deps [1 ]['name' ], 'first' )
359+ self .assertEqual (eb .dependency_names (), {'first' , 'second_build' })
357360
358361 # more realistic example: only filter dep for POWER
359362 self .contents = '\n ' .join ([
@@ -377,12 +380,14 @@ def test_false_dep_version(self):
377380 deps = eb .dependencies ()
378381 self .assertEqual (len (deps ), 1 )
379382 self .assertEqual (deps [0 ]['name' ], 'not_on_power' )
383+ self .assertEqual (eb .dependency_names (), {'not_on_power' })
380384
381385 # only power, dependency gets filtered
382386 st .get_cpu_architecture = lambda : POWER
383387 eb = EasyConfig (self .eb_file )
384388 deps = eb .dependencies ()
385389 self .assertEqual (deps , [])
390+ self .assertEqual (eb .dependency_names (), set ())
386391
387392 def test_extra_options (self ):
388393 """ extra_options should allow other variables to be stored """
@@ -1636,18 +1641,15 @@ def test_filter_deps(self):
16361641 test_ecs_dir = os .path .join (os .path .abspath (os .path .dirname (__file__ )), 'easyconfigs' , 'test_ecs' )
16371642 ec_file = os .path .join (test_ecs_dir , 'f' , 'foss' , 'foss-2018a.eb' )
16381643 ec = EasyConfig (ec_file )
1639- deps = sorted ([dep ['name' ] for dep in ec .dependencies ()])
1640- self .assertEqual (deps , ['FFTW' , 'GCC' , 'OpenBLAS' , 'OpenMPI' , 'ScaLAPACK' ])
1644+ self .assertEqual (ec .dependency_names (), {'FFTW' , 'GCC' , 'OpenBLAS' , 'OpenMPI' , 'ScaLAPACK' })
16411645
16421646 # test filtering multiple deps
16431647 init_config (build_options = {'filter_deps' : ['FFTW' , 'ScaLAPACK' ]})
1644- deps = sorted ([dep ['name' ] for dep in ec .dependencies ()])
1645- self .assertEqual (deps , ['GCC' , 'OpenBLAS' , 'OpenMPI' ])
1648+ self .assertEqual (ec .dependency_names (), {'GCC' , 'OpenBLAS' , 'OpenMPI' })
16461649
16471650 # test filtering of non-existing dep
16481651 init_config (build_options = {'filter_deps' : ['zlib' ]})
1649- deps = sorted ([dep ['name' ] for dep in ec .dependencies ()])
1650- self .assertEqual (deps , ['FFTW' , 'GCC' , 'OpenBLAS' , 'OpenMPI' , 'ScaLAPACK' ])
1652+ self .assertEqual (ec .dependency_names (), {'FFTW' , 'GCC' , 'OpenBLAS' , 'OpenMPI' , 'ScaLAPACK' })
16511653
16521654 # test parsing of value passed to --filter-deps
16531655 opts = init_config (args = [])
@@ -1681,6 +1683,7 @@ def test_filter_deps(self):
16811683 init_config (build_options = build_options )
16821684 ec = EasyConfig (ec_file , validate = False )
16831685 self .assertEqual (ec .dependencies (), [])
1686+ self .assertEqual (ec .dependency_names (), set ())
16841687
16851688 def test_replaced_easyconfig_parameters (self ):
16861689 """Test handling of replaced easyconfig parameters."""
@@ -1869,6 +1872,9 @@ def test_external_dependencies(self):
18691872 }
18701873 self .assertEqual (deps [7 ]['external_module_metadata' ], cray_netcdf_metadata )
18711874
1875+ # External module names are omitted
1876+ self .assertEqual (ec .dependency_names (), {'intel' })
1877+
18721878 # provide file with partial metadata for some external modules;
18731879 # metadata obtained from probing modules should be added to it...
18741880 metadata = os .path .join (self .test_prefix , 'external_modules_metadata.cfg' )
@@ -1897,6 +1903,7 @@ def test_external_dependencies(self):
18971903 deps = ec .dependencies ()
18981904
18991905 self .assertEqual (len (deps ), 8 )
1906+ self .assertEqual (ec .dependency_names (), {'intel' })
19001907
19011908 for idx in [0 , 1 , 2 , 6 ]:
19021909 self .assertEqual (deps [idx ]['external_module_metadata' ], {})
0 commit comments