Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Slurm
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
tud-zih-energy
Slurm
Commits
510694e1
Commit
510694e1
authored
10 years ago
by
Aaron Knister
Browse files
Options
Downloads
Patches
Plain Diff
export "all" if -V given to qsub wrapper
parent
510d41ad
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
contribs/torque/qsub.pl
+5
-9
5 additions, 9 deletions
contribs/torque/qsub.pl
testsuite/expect/README
+1
-0
1 addition, 0 deletions
testsuite/expect/README
testsuite/expect/test20.12
+155
-0
155 additions, 0 deletions
testsuite/expect/test20.12
with
161 additions
and
9 deletions
contribs/torque/qsub.pl
+
5
−
9
View file @
510694e1
...
...
@@ -244,12 +244,10 @@ if ($variable_list) {
}
}
}
else
{
my
$separator
=
"";
if
(
$export_env
)
{
$command
.=
"
--export=
";
$command
.=
"
--export=
all
";
}
else
{
$command
.=
"
--export=none
";
$separator
=
"
,
";
}
# The logic below ignores quoted commas, but the quotes must be escaped
...
...
@@ -260,16 +258,14 @@ if ($variable_list) {
foreach
my
$part
(
@parts
)
{
my
(
$key
,
$value
)
=
$part
=~
/(.*)=(.*)/
;
if
(
defined
(
$key
)
&&
defined
(
$value
))
{
$command
.=
"
$separator
";
$command
.=
"
$key
=
$value
";
$separator
=
"
,
";
$command
.=
"
,
$key
=
$value
";
}
elsif
(
defined
(
$ENV
{
$part
}))
{
$command
.=
"
$separator
";
$command
.=
"
$part
=
$ENV
{
$part
}
";
$separator
=
"
,
";
$command
.=
"
,
$part
=
$ENV
{
$part
}
";
}
}
}
}
elsif
(
$export_env
&&
!
$interactive
)
{
$command
.=
"
--export=all
";
}
$command
.=
"
--account='
$group_list
'
"
if
$group_list
;
...
...
This diff is collapsed.
Click to expand it.
testsuite/expect/README
+
1
−
0
View file @
510694e1
...
...
@@ -585,6 +585,7 @@ test20.8 Test the qalter -N option for changing the name of a job.
test20.9 Test for the qalter --man option
test20.10 Test for the qrerun --help option
test20.11 Test for the qrerun --man option
test20.12 Test for qsub -V/-v arguments and their interaction with sbatch scripts
test21.# Testing of sacctmgr commands and options.
...
...
This diff is collapsed.
Click to expand it.
testsuite/expect/test20.12
0 → 100755
+
155
−
0
View file @
510694e1
#!/usr/bin/expect
############################################################################
# Purpose: Test of SLURM functionality
# Test for the qsub -V and -v options
#
# Output: "TEST: #.#" followed by "SUCCESS" if test was successful, OR
# "FAILURE: ..." otherwise with an explanation of the failure, OR
# anything else indicates a failure mode that must be investigated.
############################################################################
source ./globals
set test_id "20.12"
set file_in "test$test_id.input"
set file_out "test$test_id.output"
set exit_code 0
set variable1_value "DOYOUWANTTO"
set variable2_value "BUILDASNOWMAN"
print_header $test_id
if {[file executable $qsub] == 0} {
send_user "\nWARNING: qsub was not found\n"
exit 0
}
proc make_random_var_name {} {
set randvar "RANDOM_VARIABLE_"
append randvar [expr int(rand() * 1000 + 1000 )]
return $randvar
}
proc run_qsub { variable1_name variable1_expect_val variable2_name variable2_expect_val qsub_extra_options extra_batch_header } {
global file_in
global file_out
global exit_code
global test_var_value
global bin_cat
global bin_echo
global bin_rm
global qsub
global number
global env
global variable1_value
global variable2_value
global subtest_name
set job_id 0
exec rm -f $file_out
make_bash_script $file_in "$extra_batch_header\n$bin_echo $variable1_name=\$$variable1_name\n$bin_echo $variable2_name=\$$variable2_name\n"
# Set our 2 test variables
set env($variable1_name) $variable1_value
set env($variable2_name) $variable2_value
set qsub_base_options [concat -l walltime=1:00 -o $file_out $file_in]
set qsub_options [concat $qsub_extra_options $qsub_base_options]
eval spawn $qsub [lrange $qsub_options 0 end]
unset env($variable1_name)
unset env($variable2_name)
expect {
-re "($number)" {
set job_id $expect_out(1,string)
exp_continue
}
timeout {
send_user "\nFAILURE: qsub not responding\n"
set exit_code 1
}
eof {
wait
}
}
if {$job_id == 0} {
send_user "\nFAILURE: qsub failed to submit job\n"
exit 1
}
if {[wait_for_file $file_out] != 0} {
send_user "\nFAILURE: qsub output file not found\n"
catch {exec $qdel $job_id}
exit 1
}
set matches 0
spawn $bin_cat $file_out
expect {
"$variable1_name=$variable1_expect_val\r\n" {
incr matches
exp_continue
}
"$variable2_name=$variable2_expect_val\r\n" {
incr matches
exp_continue
}
eof {
wait
}
}
if {$matches != 2} {
send_user "\nFAILURE: one or more environment variables failed to match their expected values for sub test '$subtest_name'\n"
set exit_code 1
}
if {$exit_code == 0} {
exec $bin_rm -f $file_in $file_out
} else {
exit $exit_code
}
sleep 5
}
# Test -V
set subtest_name "Test -V"
run_qsub [make_random_var_name] $variable1_value [make_random_var_name] $variable2_value "-V" ""
# Test -V w/sbatch --export=NONE
set subtest_name "Test -V w/sbatch --export=NONE"
run_qsub [make_random_var_name] $variable1_value [make_random_var_name] $variable2_value "-V" "#SBATCH --export=NONE"
# Test -V, -v var
set subtest_name "Test -V, -v var"
set var1_name [make_random_var_name]
set var2_name [make_random_var_name]
run_qsub $var1_name $variable1_value $var2_name $variable2_value "-V -v $var1_name" ""
unset var1_name var2_name
# Test -V, -v var w/sbatch --export=NONE
set subtest_name "Test -V, -v var w/sbatch --export=NONE"
set var1_name [make_random_var_name]
set var2_name [make_random_var_name]
run_qsub $var1_name $variable1_value $var2_name $variable2_value "-V -v $var1_name" "#SBATCH --export=NONE"
unset var1_name var2_name
# Test -V, -v var=val
set subtest_name "Test -V, -v var=val"
set var1_name [make_random_var_name]
set var2_name [make_random_var_name]
run_qsub $var1_name "LETITGOOO" $var2_name $variable2_value "-V -v $var1_name=LETITGOOO" ""
unset var1_name var2_name
# Test -V, -v var=val w/sbatch --export=NONE
set subtest_name "Test -V, -v var=val w/sbatch --export=NONE"
set var1_name [make_random_var_name]
set var2_name [make_random_var_name]
run_qsub $var1_name "LETITGOOO" $var2_name $variable2_value "-V -v $var1_name=LETITGOOO" "#SBATCH --export=NONE"
send_user "\nSUCCESS\n"
exit 0
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment