@@ -737,6 +737,32 @@ def test_tweaking(self):
737737 # cleanup
738738 os .remove (tweaked_fn )
739739
740+ def test_parse_easyconfig (self ):
741+ """Test parse_easyconfig function"""
742+ self .contents = textwrap .dedent ("""
743+ easyblock = "ConfigureMake"
744+ name = "PI"
745+ version = "3.14"
746+ homepage = "http://example.com"
747+ description = "test easyconfig"
748+ toolchain = SYSTEM
749+ """ )
750+ self .prep ()
751+ ecs , gen_ecs = parse_easyconfigs ([(self .eb_file , False )])
752+ self .assertEqual (len (ecs ), 1 )
753+ self .assertEqual (ecs [0 ]['spec' ], self .eb_file )
754+ self .assertIsInstance (ecs [0 ]['ec' ], EasyConfig )
755+ self .assertFalse (gen_ecs )
756+ # Passing the same EC multiple times is ignored
757+ ecs , gen_ecs = parse_easyconfigs ([(self .eb_file , False ), (self .eb_file , False )])
758+ self .assertEqual (len (ecs ), 1 )
759+ # Similar for symlinks
760+ linked_ec = os .path .join (self .test_prefix , 'linked.eb' )
761+ os .symlink (self .eb_file , linked_ec )
762+ ecs , gen_ecs = parse_easyconfigs ([(self .eb_file , False ), (linked_ec , False )])
763+ self .assertEqual (len (ecs ), 1 )
764+ self .assertEqual (ecs [0 ]['spec' ], self .eb_file )
765+
740766 def test_alt_easyconfig_paths (self ):
741767 """Test alt_easyconfig_paths function that collects list of additional paths for easyconfig files."""
742768
0 commit comments