@@ -32,6 +32,11 @@ def check_env_endswith(var1, var2):
3232 if not val1 .endswith (val2 ):
3333 raise EnvVarError (f"'{ var1 } ' must end with '{ var2 } ':\n { var1 } ='{ val1 } '\n { var2 } ='{ val2 } '" )
3434
35+ def check_env_startswith (var1 , var2 ):
36+ val1 , val2 = get_env_vars (var1 , var2 )
37+ if not val1 .startswith (val2 ):
38+ raise EnvVarError (f"'{ var1 } ' must start with '{ var2 } ':\n { var1 } ='{ val1 } '\n { var2 } ='{ val2 } '" )
39+
3540if __name__ == "__main__" :
3641 try :
3742 # accelerator stuff is not guaranteed to exist
@@ -58,6 +63,10 @@ def check_env_endswith(var1, var2):
5863 check_env_contains ("EESSI_SITE_MODULEPATH_ACCEL" , "EESSI_SOFTWARE_SUBDIR" )
5964 check_env_contains ("EESSI_MODULEPATH_ACCEL" , "EESSI_ACCELERATOR_TARGET" )
6065 check_env_contains ("EESSI_SITE_MODULEPATH_ACCEL" , "EESSI_ACCELERATOR_TARGET" )
66+ # Verify that configuring an EESSI_SITE_SOFTWARE_PREFIX results in this prefix being
67+ # the first part of EESSI_SITE_SOFTWARE_PATH
68+ if os .getenv ("EESSI_SITE_SOFTWARE_PREFIX" ):
69+ check_env_startswith ("EESSI_SITE_SOFTWARE_PATH" , "EESSI_SITE_SOFTWARE_PREFIX" )
6170 # Finally, verify that all the expected module path are included
6271 check_env_contains ("MODULEPATH" , "EESSI_MODULEPATH" )
6372 check_env_contains ("MODULEPATH" , "EESSI_SITE_MODULEPATH" )
0 commit comments