@@ -377,6 +377,9 @@ unsetenv_var MODULES_ADVANCED_VERSION_SPEC
377377# avail
378378#
379379
380+ setenv_var MODULES_AVAIL_OUTPUT {modulepath:alias:dirwsym:sym:tag:variantifspec}
381+ setenv_var MODULES_AVAIL_TERSE_OUTPUT {modulepath:alias:dirwsym:sym:tag:variantifspec}
382+
380383# variant not reported
381384testouterr_cmd_re sh {avail variant/1.0} OK "$modlin $mpre $modlin
382385variant/1.0 "
@@ -386,32 +389,42 @@ setenv_var MODULES_ADVANCED_VERSION_SPEC 1
386389set tserr "$modlin $mpre $modlin\nvariant/1.0 "
387390testouterr_cmd_re sh {avail variant/1.0 foo=val1 baz=2} OK {}
388391setenv_var TESTSUITE_VARIANT 1
389- set tserr "$modlin $mpre $modlin\nvariant/6.0 "
392+ set tserr "$modlin $mpre $modlin\nvariant/6.0{bar=1,2,3:foo=val1,val2,val3} "
390393testouterr_cmd_re sh {avail
[email protected] foo=val1 baz=2} OK {}
391394testouterr_cmd_re sh {avail
[email protected] foo=val4 bar=1} OK {}
392395testouterr_cmd_re sh {avail
[email protected] foo=val4} OK {}
393396testouterr_cmd_re sh {avail
[email protected] baz=3} OK {}
394397testouterr_cmd_re sh {avail
[email protected] foo=val1 bar=2} OK $tserr
395398testouterr_cmd_re sh {avail
[email protected] foo=val1 bar=1} OK $tserr
396399testouterr_cmd_re sh {avail
[email protected] foo=val1} OK $tserr
400+ setenv_var MODULES_AVAIL_OUTPUT {modulepath:alias:dirwsym:sym:tag}
401+ set tserr "$modlin $mpre $modlin\nvariant/6.0 "
397402testouterr_cmd_re sh {avail
[email protected] bar=2} OK $tserr
403+ setenv_var MODULES_AVAIL_OUTPUT {modulepath:alias:dirwsym:sym:tag:variantifspec}
398404# no module name/version, but variant specified
399405if {$install_availindepth eq {y}} {
400- set tserr "$mp:\nvariant/4.0\nvariant/5.0\nvariant/6.0"
406+ set tserr "$mp:\nvariant/4.0{bar=1,2,3:foo=val1,val2,val3}
407+ variant/5.0{b?r =,v*l1,val2:bar=1,2,3:foo=val1,val2,val3,val 4}
408+ variant/6.0{bar=1,2,3:foo=val1,val2,val3}"
401409} else {
402410 set tserr "$mp:\nvariant/"
403411}
404412testouterr_cmd sh {avail -t foo=val3 bar=3} OK $tserr
405413
406414# shortcut variant specification
407415setenv_var MODULES_VARIANT_SHORTCUT foo=%
408- set tserr "$modlin $mpre $modlin\nvariant/6.0 "
416+ set tserr "$modlin $mpre $modlin\nvariant/6.0{bar=1,2,3:%val1,val2,val3} "
409417testouterr_cmd_re sh {avail
[email protected] %val4} OK {}
410418testouterr_cmd_re sh {avail
[email protected] %val1 bar=2} OK $tserr
419+ setenv_var MODULES_AVAIL_OUTPUT {modulepath:alias:dirwsym:sym:tag}
420+ set tserr "$modlin $mpre $modlin\nvariant/6.0 "
411421testouterr_cmd_re sh {avail
[email protected] %val2} OK $tserr
422+ setenv_var MODULES_AVAIL_OUTPUT {modulepath:alias:dirwsym:sym:tag:variantifspec}
412423# no module name/version, but variant specified
413424if {$install_availindepth eq {y}} {
414- set tserr "$mp:\nvariant/4.0\nvariant/5.0\nvariant/6.0"
425+ set tserr "$mp:\nvariant/4.0{bar=1,2,3:%val1,val2,val3}
426+ variant/5.0{b?r =,v*l1,val2:bar=1,2,3:%val1,val2,val3,val 4}
427+ variant/6.0{bar=1,2,3:%val1,val2,val3}"
415428} else {
416429 set tserr "$mp:\nvariant/"
417430}
@@ -421,25 +434,33 @@ unsetenv_var MODULES_VARIANT_SHORTCUT
421434# boolean variant specification
422435testouterr_cmd_re sh {avail
[email protected] +foo -bar} OK {}
423436setenv_var TESTSUITE_VARIANT bool1
424- set tserr "$modlin $mpre $modlin\nvariant/6.0 "
437+ set tserr "$modlin $mpre $modlin\nvariant/6.0{bar=on,off:foo=on,off} "
425438testouterr_cmd_re sh {avail
[email protected] +foo -bar} OK $tserr
426439testouterr_cmd_re sh {avail
[email protected] +foo} OK $tserr
440+ setenv_var MODULES_AVAIL_OUTPUT {modulepath:alias:dirwsym:sym:tag}
441+ set tserr "$modlin $mpre $modlin\nvariant/6.0 "
427442testouterr_cmd_re sh {avail
[email protected] ~bar} OK $tserr
443+ setenv_var MODULES_AVAIL_OUTPUT {modulepath:alias:dirwsym:sym:tag:variantifspec}
428444# no module name/version, but variant specified
429445if {$install_availindepth eq {n}} {
430446 set tserr "$modlin $mpre $modlin\nvariant/ "
447+ } else {
448+ set tserr "$modlin $mpre $modlin\nvariant/6.0{bar=on,off:foo=on,off} "
431449}
432450testouterr_cmd_re sh {avail ~bar} OK $tserr
433451unsetenv_var TESTSUITE_VARIANT
434452
435453# free value variant
436454setenv_var TESTSUITE_VARIANT free3
437- set tserr "$modlin $mpre $modlin\nvariant/6.0 "
455+ set tserr "$modlin $mpre $modlin\nvariant/6.0{foo=\\*} "
438456testouterr_cmd_re sh {avail variant/6.0 foo=val1} OK $tserr
457+ setenv_var MODULES_AVAIL_OUTPUT {modulepath:alias:dirwsym:sym:tag}
458+ set tserr "$modlin $mpre $modlin\nvariant/6.0 "
439459testouterr_cmd_re sh {avail variant/6.0 foo=no} OK $tserr
460+ setenv_var MODULES_AVAIL_OUTPUT {modulepath:alias:dirwsym:sym:tag:variantifspec}
440461# no module name/version, but variant specified
441462if {$install_availindepth eq {y}} {
442- set tserr "$mp:\nvariant/1.0\nvariant/6.0"
463+ set tserr "$mp:\nvariant/1.0{foo=*} \nvariant/6.0{foo=*} "
443464} else {
444465 set tserr "$mp:\nvariant/"
445466}
@@ -456,14 +477,18 @@ testouterr_cmd_re sh {avail variant/6.0 var=val} OK $tserr
456477setenv_var MODULES_ADVANCED_VERSION_SPEC 1
457478setenv_var MODULES_COLORS "hi=1"
458479setenv_var TESTSUITE_VARIANT 1
459- set tserr "$mpre:\n[sgr 1]variant/6.0[sgr 22]"
480+ set tserr "$mpre:\n[sgr 1]variant/6.0[sgr 22]{bar=1,2,3:[sgr 1]foo[sgr 22]=[sgr 1]val1[sgr 22],val2,val3} "
460481testouterr_cmd_re sh {avail --color=always -t
[email protected] ,8.0 foo=val1 baz=2} OK {}
461482testouterr_cmd_re sh {avail --color=always -t
[email protected] ,8.0 foo=val1} OK $tserr
462- set tserr "$mpre:\n[sgr 1]variant/6[sgr 22].0\nvariant/7.0"
483+ set tserr "$mpre:\n[sgr 1]variant/6[sgr 22].0{bar=1,2,3:[sgr 1]foo[sgr 22]=[sgr 1]val1[sgr 22],val2,val3}
484+ variant/7.0{[sgr 1]foo[sgr 22]=[sgr 1]val1[sgr 22],val2,val3}"
463485testouterr_cmd_re sh {avail --color=always -t variant@6:8 foo=val1 baz=2} OK {}
464486testouterr_cmd_re sh {avail --color=always -t variant@6:8 foo=val1} OK $tserr
465487unsetenv_var TESTSUITE_VARIANT
466488
489+ setenv_var MODULES_AVAIL_OUTPUT {modulepath:alias:dirwsym:sym:tag:variantifspec:key}
490+ setenv_var MODULES_AVAIL_TERSE_OUTPUT {modulepath:alias:dirwsym:sym:tag:variantifspec}
491+
467492
468493#
469494# is-avail
0 commit comments