From f78a4b4fb7dfced1d9d150a2b2502c4d9c47e3f3 Mon Sep 17 00:00:00 2001 From: "Joseph P. Donaghy" <donaghy1@llnl.gov> Date: Mon, 4 Aug 2008 19:24:22 +0000 Subject: [PATCH] Inaugural test to add a user. --- testsuite/expect/test21.15 | 274 +++++++++++++++++++++++++++++++++++++ 1 file changed, 274 insertions(+) create mode 100755 testsuite/expect/test21.15 diff --git a/testsuite/expect/test21.15 b/testsuite/expect/test21.15 new file mode 100755 index 00000000000..90bae610fa7 --- /dev/null +++ b/testsuite/expect/test21.15 @@ -0,0 +1,274 @@ +#!/usr/bin/expect +############################################################################ +# Purpose: Test of SLURM functionality +# sacctmgr add an user +# +# 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) 2008 Lawrence Livermore National Security. +# Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). +# Written by Joseph Donaghy <donaghy1@llnl.gov> +# LLNL-CODE-402394. +# +# 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 "21.15" +set exit_code 0 +set acmatches 0 +set aamatches 0 +set lmatches 0 +set damatches 0 +set dcmatches 0 +set dumatches 0 +set not_support 0 +set add add +set lis list +set del delete +set mod modify +set nams Names +set nam Name +set fs Fairshare +set mc MaxCPUSecs +set mj MaxJobs +set mn MaxNodes +set mw MaxWall +set clu cluster +set tc1 tcluster1 +set fs1 2500 +set fs2 2200 +set mc1 1000000 +set mc2 200000 +set mj1 50 +set mj2 20 +set mn1 300 +set mn2 200 +set mw1 01:00:00 +set mw2 00:20:00 +set acc account +set acs accounts +set ass associations +set nm1 testaccta1 +set nm2 tacct2 +set des Description +set ds1 "Test Account A1" +set ds1 "TestAccount2" +set org Organization +set or1 "Account Org A1" +set or1 "AcctOrg2" +set qs QosLevel +set qs1 normal +set usr user +set us1 tuser1 +set al AdminLevel +set aln None +set dac DefaultAccount +set par Partitions +set dbu debug + + +print_header $test_id + +# +# Use sacctmgr to create a cluster +# +set sadd_pid [spawn $sacctmgr -i add $clu $nams=$tc1 $fs=$fs1 $mc=$mc1 $mj=$mj1 $mn=$mn1 $mw=$mw1] +expect { + -re "Adding Cluster" { + incr acmatches + exp_continue + } + timeout { + send_user "\nFAILURE: sacctmgr add not responding\n" + slow_kill $sadd_pid + set exit_code 1 + } + eof { + wait + } +} + +if {$acmatches != 1} { + send_user "\nFAILURE: sacctmgr had a problem adding clusters + got $acmatches\n" + set exit_code 1 +} + +if { ![check_acct_associations] } { + send_user "\nFAILURE: Our associations don't line up\n" + set exit_code 1 +} + +# +# Use sacctmgr to add an account +# +set sadel_pid [spawn $sacctmgr -i $add $acc $clu=$tc1 $des="$ds1" $fs=$fs1 $mc=$mc1 $mj=$mj1 $mn=$mn1 $mw=$mw1 $nams=$nm1 $org="$or1" $qs=$qs1] +expect { + -re "Adding Account" { + incr aamatches + exp_continue + } + timeout { + send_user "\nFAILURE: sacctmgr add not responding\n" + slow_kill $sadd_pid + set exit_code 1 + } + eof { + wait + } +} + +if {$aamatches != 1} { + send_user "\nFAILURE: sacctmgr had a problem adding account. + got $aamatches\n" + set exit_code 1 +} + +# +# Use sacctmgr to add a user +# +set as_list_pid [spawn $sacctmgr -i $add $usr $acs=$nm1 $al=$aln $clu=$tc1 $dac=$nm1 $fs=$fs2 $mc=$mc2 $mj=$mj2 $mn=$mn2 $mw=$mw2 $nams=$us1 $par=$dbu $qs=$qs1 ] +expect { + -re "$nams *$nm1" { + exp_continue + } + timeout { + send_user "\nFAILURE: sacctmgr list associations not responding\n" + slow_kill $as_list_pid + set exit_code 1 + } + eof { + wait + } +} + +if { ![check_acct_associations] } { + send_user "\nFAILURE: Our associations don't line up\n" + set exit_code 1 +} + +# +# Use sacctmgr to list the test user +# +set as_list_pid [spawn $sacctmgr list $usr $nams=$us1 WithAssocs] +expect { + -re "$tc1 *$nm1 *$qs1 *None *$tc1 *$nm1 *$par *$fs2 *$mc2 *$mj2 *$mn2 *$mw2" { + exp_continue + } + timeout { + send_user "\nFAILURE: sacctmgr list user not responding\n" + slow_kill $as_list_pid + set exit_code 1 + } + eof { + wait + } +} + +# +# Use sacctmgr to delete the test user +# +set sadel_pid [spawn $sacctmgr -i $del $usr $us1] +expect { + -re "Deleting users" { + incr dumatches + exp_continue + } + timeout { + send_user "\nFAILURE: sacctmgr delete not responding\n" + slow_kill $sadel_pid + set exit_code 1 + } + eof { + wait + } +} + +if {$dumatches != 1} { + send_user "\nFAILURE: sacctmgr had a problem deleting user got $dumatches\n" + set exit_code 1 +} + +# +# Use sacctmgr to delete the test account +# +set sadel_pid [spawn $sacctmgr -i $del $acc $nm1] +expect { + -re "Deleting account" { + incr damatches + exp_continue + } + timeout { + send_user "\nFAILURE: sacctmgr delete not responding\n" + slow_kill $sadel_pid + set exit_code 1 + } + eof { + wait + } +} + +if {$damatches != 1} { + send_user "\nFAILURE: sacctmgr had a problem deleting account got $damatches\n" + set exit_code 1 +} + +if { ![check_acct_associations] } { + send_user "\nFAILURE: Our associations don't line up\n" + set exit_code 1 +} + +# +# Use sacctmgr to delete the test cluster +# +set sadel_pid [spawn $sacctmgr -i $del $clu $tc1] +expect { + -re "Deleting clusters" { + incr dcmatches + exp_continue + } + timeout { + send_user "\nFAILURE: sacctmgr delete not responding\n" + slow_kill $sadel_pid + set exit_code 1 + } + eof { + wait + } +} + +if {$dcmatches != 1} { + send_user "\nFAILURE: sacctmgr had a problem deleting cluster got $dcmatches\n" + set exit_code 1 +} + +if { ![check_acct_associations] } { + send_user "\nFAILURE: Our associations don't line up\n" + set exit_code 1 +} + +if {$exit_code == 0} { + send_user "\nSUCCESS\n" + } else { + send_user "\nFAILURE\n" + } + +exit $exit_code -- GitLab