diff --git a/testsuite/modulefiles.deps/vmod1/1 b/testsuite/modulefiles.deps/vmod1/1 new file mode 100644 index 00000000..60dd2e9d --- /dev/null +++ b/testsuite/modulefiles.deps/vmod1/1 @@ -0,0 +1,2 @@ +#%Module +conflict vmod1 diff --git a/testsuite/modulefiles.deps/vmod1/2 b/testsuite/modulefiles.deps/vmod1/2 new file mode 100644 index 00000000..60dd2e9d --- /dev/null +++ b/testsuite/modulefiles.deps/vmod1/2 @@ -0,0 +1,2 @@ +#%Module +conflict vmod1 diff --git a/testsuite/modulefiles.deps/vmod2/.modulerc b/testsuite/modulefiles.deps/vmod2/.modulerc new file mode 100644 index 00000000..ce6933c2 --- /dev/null +++ b/testsuite/modulefiles.deps/vmod2/.modulerc @@ -0,0 +1,2 @@ +#%Module +module-version vmod2/1 default diff --git a/testsuite/modulefiles.deps/vmod2/1 b/testsuite/modulefiles.deps/vmod2/1 new file mode 100644 index 00000000..b118c0d8 --- /dev/null +++ b/testsuite/modulefiles.deps/vmod2/1 @@ -0,0 +1,2 @@ +#%Module +conflict vmod2 diff --git a/testsuite/modulefiles.deps/vmod2/2 b/testsuite/modulefiles.deps/vmod2/2 new file mode 100644 index 00000000..6ea46042 --- /dev/null +++ b/testsuite/modulefiles.deps/vmod2/2 @@ -0,0 +1,3 @@ +#%Module +prereq vmod1/2 +conflict vmod2 diff --git a/testsuite/modulefiles.deps/vmod3/1 b/testsuite/modulefiles.deps/vmod3/1 new file mode 100644 index 00000000..9d3d6da2 --- /dev/null +++ b/testsuite/modulefiles.deps/vmod3/1 @@ -0,0 +1,3 @@ +#%Module +prereq vmod2/2 vmod2 +conflict vmod3 diff --git a/testsuite/modulefiles.deps/vmod3/2 b/testsuite/modulefiles.deps/vmod3/2 new file mode 100644 index 00000000..31d7aa4e --- /dev/null +++ b/testsuite/modulefiles.deps/vmod3/2 @@ -0,0 +1,3 @@ +#%Module +prereq vmod2/2 +conflict vmod3 diff --git a/testsuite/modules.50-cmds/377-error.exp b/testsuite/modules.50-cmds/377-error.exp index 9597c3df..2367da86 100644 --- a/testsuite/modules.50-cmds/377-error.exp +++ b/testsuite/modules.50-cmds/377-error.exp @@ -829,6 +829,29 @@ testouterr_cmd_re sh {reload} ERR [join $tserr \n] testouterr_cmd_re sh {reload --force} ERR [join $tserr \n] +# +# Error message test of failed dependency load, which is solved by the load +# of an alternative requirement (issue #509) +# + +unsetenv_var __MODULES_LMTAG +unsetenv_var __MODULES_LMALTNAME +unsetenv_var __MODULES_LMPREREQ +setenv_loaded_module [list vmod1/1] [list $mp/vmod1/1] +setenv_var __MODULES_LMCONFLICT vmod1/1&vmod1 + +set ans [list] +lappend ans [list set __MODULES_LMALTNAME vmod2/1&vmod2/default&vmod2] +lappend ans [list set __MODULES_LMCONFLICT vmod1/1&vmod1:vmod2/1&vmod2:vmod3/1&vmod3] +lappend ans [list set __MODULES_LMPREREQ vmod3/1&vmod2/2|vmod2] +lappend ans [list set _LMFILES_ $mp/vmod1/1:$mp/vmod2/1:$mp/vmod3/1] +lappend ans [list set LOADEDMODULES vmod1/1:vmod2/1:vmod3/1] +lappend ans [list set __MODULES_LMTAG vmod2/1&auto-loaded] +#FIXME: as requirement is satisfied in the end, there should not be an error +lappend ans [list ERR] +testouterr_cmd sh {load --auto vmod3/1} $ans $tserr + + # # Cleanup #