* dg.exp (dg-do): Do not change the previously selected action if
authorDominik Vogt <vogt@linux.vnet.ibm.com>
Mon, 28 Mar 2016 06:31:07 +0000 (17:31 +1100)
committerBen Elliston <bje@gnu.org>
Mon, 28 Mar 2016 06:31:07 +0000 (17:31 +1100)
a de-selected dg-do is encountered.

Signed-off-by: Ben Elliston <bje@gnu.org>
ChangeLog
lib/dg.exp

index 72aa084..dbe5e26 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-03-28  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+       * dg.exp (dg-do): Do not change the previously selected action if
+       a de-selected dg-do is encountered.
+
 2016-03-28  Ben Elliston  <bje@gnu.org>
 
        * lib/framework.exp (check_xml): Remove unused proc.
index 7a9f287..6a54b46 100644 (file)
@@ -298,6 +298,7 @@ proc dg-do { args } {
        error "[lindex $args 0]: too many arguments"
     }
 
+    set doaction [lindex $args 1]
     set selected [lindex ${do-what} 1] ;# selected? (""/S/N)
     set expected [lindex ${do-what} 2] ;# expected to pass/fail (P/F)
 
@@ -315,6 +316,8 @@ proc dg-do { args } {
                # are OR'd together).
                if { $selected != "S" } {
                    set selected "N"
+               } else {
+                   set doaction [lindex ${do-what} 0]
                }
            }
            "F" { set expected "F" }
@@ -340,7 +343,7 @@ proc dg-do { args } {
            error "[lindex $args 0]: syntax error"
        }
     }
-    set do-what [list [lindex $args 1] $selected $expected]
+    set do-what [list $doaction $selected $expected]
 }
 
 proc dg-error { args } {