#!/usr/bin/expect -f

if {$argc != 4} {
    puts "Usage:"
    puts "    $argv0 terminal_server_ip port image_name loops"
    puts "Example:"
    puts "$argv0 10.1.1.2 58 bootimage.nbi 2"
    exit
}

set timeout 300
set terminal_server [lrange $argv 0 0]
set port   [lrange $argv 1 1]
set image  [lrange $argv 2 2]
set loops   [lrange $argv 3 3]
set user  "root" #to login

log_file ./result/result-$image-on-$port
for {set i 0} {$i<$loops} {incr i 1} {

puts "**************************** Iteration $i  ****************"
spawn telnet $terminal_server 20$port 

expect_after timeout {
    puts "#######Timeout! $image#######"
    send_log "#######Timeout! $image#######\n"
    log_file
    exit
}

expect "Escape character*"
send "\r\r"
expect "to stop autoboot:*"
send "\x03\r"
expect "loader>"

send "cmdline debug=0xff\r"
expect "loader>"

send "boot $image\r"
expect "sup1 login:"
send "$user\r"
expect "root@sup1:~#"
send "free\r"
expect "root@sup1:~#" {send_log "PASSED $image at $i iteration"}

send "\x1d\r"
expect "telnet>"
send "quit\r"
expect "bash-3.2"
sleep 3
}
log_file