blob: 5f5739f0c7ded35d3b93cca1f3a949558f4422d6 [file] [log] [blame]
#!/usr/bin/expect
############################################################################
# Purpose: Test of SLURM functionality
# Check bluegene.conf file creation
# (-Dc 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 Danny Auble <da@llnl.gov>
# UCRL-CODE-226842.
#
# 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 "10.13"
set exit_code 0
set matches 0
set non_bg 0
set prompt ".*$"
set created 0
set file "bluegene-test.conf"
set stuff ""
set too_small 0
print_header $test_id
#
# Check the smap creation of bluegene.conf file
# in curses format.
#
spawn $smap -Dc
expect {
-re "Screen is too small" {
set too_small 1
exp_continue
}
-re "BG SYSTEM" {
set non_bg 1
exp_continue
}
-re "TORUS" {
set created 1
exp_continue
}
-re "to exit" {
if { $matches == 0 } {
send "create 1\n"
} elseif { $matches == 1 } {
send "save $file\n"
} elseif { $matches == 2 } {
send "exit\n"
}
incr matches
exp_continue
}
timeout {
send_user "\nFAILURE: smap not responding\n"
set created 1
set exit_code 1
}
eof {
wait
}
}
if {$too_small != 0} {
send_user "\nWARNING: Screen is too small for test\n"
exit 0
}
if {$non_bg != 0} {
send_user "\nWARNING: Must be on a BG SYSTEM to run this command\n"
exit 0
}
if {$created != 1} {
send_user "\nFAILURE: smap was unable to create partition\n"
set exit_code 1
}
set matches 0
if { $exit_code != 1 } {
spawn more $file
expect {
-re "BlrtsImage" {
set stuff [concat $stuff "1"]
incr matches
exp_continue
}
-re "LinuxImage" {
set stuff [concat $stuff "2"]
incr matches
exp_continue
}
-re "MloaderImage" {
set stuff [concat $stuff "3"]
incr matches
exp_continue
}
-re "RamDiskImage" {
set stuff [concat $stuff "4"]
incr matches
exp_continue
}
-re "BridgeAPILogFile" {
set stuff [concat $stuff "5"]
incr matches
exp_continue
}
-re "Numpsets" {
set stuff [concat $stuff "6"]
incr matches
exp_continue
}
-re "BridgeAPIVerbose" {
set stuff [concat $stuff "7"]
incr matches
exp_continue
}
-re "BasePartitionNodeCnt" {
set stuff [concat $stuff "8"]
incr matches
exp_continue
}
-re "NodeCardNodeCnt" {
set stuff [concat $stuff "9"]
incr matches
exp_continue
}
-re "LayoutMode" {
set stuff [concat $stuff "10"]
incr matches
exp_continue
}
-re "BPs" {
set stuff [concat $stuff "11"]
incr matches
exp_continue
}
eof {
wait
}
}
if {$matches != 11} {
send_user "$matches\n$stuff"
send_user "\nFAILURE: smap bluegene.conf file was created but corrupt\n"
set exit_code 1
}
}
exec rm -f $file
if {$exit_code == 0} {
send_user "\nSUCCESS\n"
}
exit $exit_code