Whamcloud - gitweb
Be a bit more verbose than just "timeout".
[fs/lustre-release.git] / build / update_oldconfig
index 8944617..5dd030f 100755 (executable)
@@ -1,6 +1,11 @@
-#!/usr/bin/expect -d
+#!/usr/bin/expect -f
 
+# log all interaction to a file to diagnose failures
+log_file -a [lindex $argv 0]
+
+# and not stddout
 log_user 0
+
 set spawnid [spawn make oldconfig]
 
 #match_max 200
@@ -10,20 +15,45 @@ set timeout 30
 
 expect {
     timeout {
-        puts "timeout"
+        puts "timeout in update_oldconfig waiting for a prompt we recognize"
         exit 1
     }
-    -re "\n  *(\[^\n]* \\\[N\/y\/\\?] \\(NEW\\)) " {
+    -re "\n *(\[^\n]* \\\[N\/y\/\\?] \\(NEW\\)) " {
          puts "$expect_out(1,string) n"
          send "n\r"
          exp_continue
     }
-    -re "\n  *(\[^\n]* \\\[N\/m\/y\/\\?] \\(NEW\\)) " {
+    -re "\n *(\[^\n]* \\\[N\/m\/y\/\\?] \\(NEW\\)) " {
+        puts "$expect_out(1,string) m"
+        send "m\r"
+        exp_continue
+    }
+    -re "\n *(\[^\n]* \\\[N\/y\/m\/\\?] \\(NEW\\)) " {
+        puts "$expect_out(1,string) m"
+        send "m\r"
+        exp_continue
+    }
+    -re "\n *(\[^\n]* \\\[N\/m\/\\?] \\(NEW\\)) " {
+        puts "$expect_out(1,string) m"
+        send "m\r"
+        exp_continue
+    }
+    -re "\n *(\[^\n]* \\\[Y\/n\/\\?] \\(NEW\\)) " {
+        puts "$expect_out(1,string) y"
+        send "y\r"
+        exp_continue
+    }
+    -re "\n *(\[^\n]* \\\[\[0-9]*] \\(NEW\\)) " {
+        puts "$expect_out(1,string) <cr>"
+        send "\r"
+        exp_continue
+    }
+    -re "\n *(\[^\n]* \\\[M\/n\/\\?] \\(NEW\\)) " {
         puts "$expect_out(1,string) m"
         send "m\r"
         exp_continue
     }
-    -re "\n  *(\[^\n]* \\\[N\/m\/\\?] \\(NEW\\)) " {
+    -re "\n *(\[^\n]* \\\[M\/n\/y\/\\?] \\(NEW\\)) " {
         puts "$expect_out(1,string) m"
         send "m\r"
         exp_continue