From 0d3fa3cf2f40ecab2bb9c6f7e89bce67c56d362c Mon Sep 17 00:00:00 2001 From: "Christopher J. Morrone" <morrone2@llnl.gov> Date: Fri, 15 Sep 2006 01:28:34 +0000 Subject: [PATCH] Add slaunch --jobid test --- testsuite/expect/README | 2 +- testsuite/expect/test1.58 | 16 ++++-- testsuite/expect/test18.38 | 108 ++++++++++++++++++++++++++++++++++++ testsuite/expect/test7.4.sh | 2 +- 4 files changed, 120 insertions(+), 8 deletions(-) create mode 100755 testsuite/expect/test18.38 diff --git a/testsuite/expect/README b/testsuite/expect/README index 5f6eab79708..8b31df54961 100644 --- a/testsuite/expect/README +++ b/testsuite/expect/README @@ -485,4 +485,4 @@ test18.35 Test of task layout controls (--task-layout-byid, --task-layout-byname and --task-layout-file options). test18.36 Test of CPU affinity support (--cpu-bind option). test18.37 Test of memory affinity support for NUMA systems (--mem-bind option). - +test18.38 Test of slaunch --jobid diff --git a/testsuite/expect/test1.58 b/testsuite/expect/test1.58 index f292a7c4f0f..9864dbc63dd 100755 --- a/testsuite/expect/test1.58 +++ b/testsuite/expect/test1.58 @@ -49,7 +49,7 @@ expect { } timeout { send_user "\nFAILURE: srun failed to grab an allocation in a timely manner.\n" - kill $srun_alloc_pid + exec kill $srun_alloc_pid exit 1 } } @@ -71,9 +71,9 @@ expect { exp_continue } timeout { - kill $srun_launch_pid - kill $srun_launch_pid - kill -9 $srun_launch_pid + exec kill $srun_launch_pid + exec kill $srun_launch_pid + exec kill -9 $srun_launch_pid } eof { wait @@ -88,15 +88,19 @@ if {$got_pattern == 0} { # # Release the allocation by killing the first srun (really it kills the "sleep") # -kill $srun_alloc_pid +exec $scancel $jobid set spawn_id $srun_alloc_sid +exec kill -9 $srun_alloc_pid expect { timeout { - kill -9 $srun_alloc_pid + exec kill -9 $srun_alloc_pid } eof { wait } } +if {$got_pattern == 1} { + send_user "\nSUCCESS\n" +} exit $exit_code diff --git a/testsuite/expect/test18.38 b/testsuite/expect/test18.38 new file mode 100755 index 00000000000..fd9a2857895 --- /dev/null +++ b/testsuite/expect/test18.38 @@ -0,0 +1,108 @@ +#!/usr/bin/expect +############################################################################ +# Purpose: Test of SLURM functionality +# Test of slaunch --jobid option +# +# 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. +############################################################################ +# Copyright (C) 2002-2006 The Regents of the University of California. +# Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). +# Written by Christopher J. Morrone <morrone2@llnl.gov> +# UCRL-CODE-217948. +# +# This file is part of SLURM, a resource management program. +# For details, see <http://www.llnl.gov/linux/slurm/>. +# +# SLURM is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# SLURM is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along +# with SLURM; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +############################################################################ +source ./globals + +set test_id "18.38" +set exit_code 0 + +print_header $test_id +set timeout $max_job_delay + +# +# Run an salloc to grab a single node allocation. +# +set salloc_pid [spawn $salloc -N1 $slaunch $bin_sleep 600] +set salloc_sid $spawn_id +expect { + -re "Granted job allocation ($number)" { + set jobid $expect_out(1,string) + } + timeout { + send_user "\nFAILURE: salloc failed to grab an allocation in a timely manner.\n" + exec kill $salloc_pid + exit 1 + } +} + +# +# Now try to use the slaunch --jobid option to run in the already existing +# allocation. +# +set pattern "xcoetn46398vnk" +set got_pattern 0 +set slaunch_pid [spawn $slaunch --jobid $jobid echo $pattern] +expect { + -re "error" { + send_user "\nFAILURE: unexpected error occurred\n" + set exit_code 1 + } + -re $pattern { + set got_pattern 1 + exp_continue + } + timeout { + exec kill $slaunch_pid + exec kill -9 $slaunch_pid + } + eof { + wait + } +} + +if {$got_pattern == 0} { + send_user "\nFAILURE: unable to srun step under existing job allocation\n" + set exit_code 1 +} + +# +# Release the allocation by killing the first srun (really it kills the "sleep") +# +exec $scancel $jobid +exec kill $salloc_pid +set spawn_id $salloc_sid +expect { + -re "error.*already completed" { + send_user "The \"already completed\" error is normal.\n" + exp_continue + } + timeout { + exec kill -9 $salloc_pid + } + eof { + wait + } +} + +if {$got_pattern == 1} { + send_user "\nSUCCESS\n" +} +exit $exit_code diff --git a/testsuite/expect/test7.4.sh b/testsuite/expect/test7.4.sh index 52f90d409dc..3591aa6e194 100755 --- a/testsuite/expect/test7.4.sh +++ b/testsuite/expect/test7.4.sh @@ -1,4 +1,4 @@ -#!/bin/sh +s#!/bin/sh # Usage: <squeue path> <hostlist file> # Returns SLURM job id allocated to that node for that user # Note: The hostlist file contains full pathnames that need to -- GitLab