diff --git a/testsuite/expect/globals b/testsuite/expect/globals index 2afd1e3e1a192ee336653c8847f9eedad40cb855..f6b790be20b3b9486eaa3c568b5ec02821f6c311 100755 --- a/testsuite/expect/globals +++ b/testsuite/expect/globals @@ -1009,6 +1009,43 @@ proc test_account_storage { } { return $account_storage } +################################################################ +# +# Proc: test_enforce_limits +# +# Purpose: Determine resouce limits are enforced +# This is based upon +# the value of AccountingStorageEnforce in the slurm.conf. +# +# Returns 1 if the system is enforcing limits, 0 otherwise +# +################################################################ + +proc test_enforce_limits { } { + global alpha_numeric_comma scontrol + + log_user 0 + set enforce_limits 0 + spawn $scontrol show config + expect { + -re "AccountingStorageEnforce *= ($alpha_numeric_comma)" { + if {[string first "safe" $expect_out(1,string)] != -1 } { + set enforce_limits 1 + } + if {[string first "limits" $expect_out(1,string)] != -1 } { + set enforce_limits 1 + } + exp_continue + } + eof { + wait + } + } + log_user 1 + + return $enforce_limits +} + ################################################################ # # Proc: test_using_slurmdbd diff --git a/testsuite/expect/test21.30 b/testsuite/expect/test21.30 index 505de705c4c224ec75dc234f98fb409e0d0a3ef5..d6b0310443bbd25391d903c31d8223df12b2cd42 100755 --- a/testsuite/expect/test21.30 +++ b/testsuite/expect/test21.30 @@ -171,6 +171,9 @@ proc endit { } { if { [test_account_storage] == 0 } { send_user "\nWARNING: This test can't be run without a usable AccountStorageType\n" exit 0 +} elseif { [test_enforce_limits] == 0 } { + send_user "\nWARNING: This test can't be run without a usable AccountingStorageEnforce\n" + exit 0 } if { [test_limits_enforced] == 0 } { send_user "\nWARNING: This test can't be run without enforcing limits\n"