[119633] trunk/base/src/macports1.0/tests/test.tcl

cal at macports.org cal at macports.org
Fri May 2 15:13:33 PDT 2014


Revision: 119633
          https://trac.macports.org/changeset/119633
Author:   cal at macports.org
Date:     2014-05-02 15:13:33 -0700 (Fri, 02 May 2014)
Log Message:
-----------
base macports1.0 tests: use Tcl 8.5, avoid eval

Modified Paths:
--------------
    trunk/base/src/macports1.0/tests/test.tcl

Modified: trunk/base/src/macports1.0/tests/test.tcl
===================================================================
--- trunk/base/src/macports1.0/tests/test.tcl	2014-05-02 22:10:47 UTC (rev 119632)
+++ trunk/base/src/macports1.0/tests/test.tcl	2014-05-02 22:13:33 UTC (rev 119633)
@@ -1,5 +1,5 @@
 # Global vars
-set arguments ""
+set arguments {}
 set test_name ""
 set color_out ""
 set tcl ""
@@ -17,8 +17,8 @@
 proc print_help {arg} {
     if { $arg eq "tests" } {
         puts "The list of available tests is:"
-	cd tests
-	set test_suite [glob *.test]
+        cd tests
+        set test_suite [glob *.test]
         foreach test $test_suite {
             puts [puts -nonewline "  "]$test
         }
@@ -41,7 +41,8 @@
         set index [expr {[lsearch $argv $arg] + 1}]
         set level [lindex $argv $index]
         if { $level >= 0 && $level <= 3 } {
-            append arguments "-debug " $level
+            lappend arguments "-debug"
+            lappend arguments $level
         } else {
             puts "Invalid debug level."
             exit 1
@@ -50,29 +51,29 @@
         set index [expr {[lsearch $argv $arg] + 1}]
         set test_name [lindex $argv $index]
         set no 0
-	cd tests
-	set test_suite [glob *.test]
+        cd tests
+        set test_suite [glob *.test]
         foreach test $test_suite {
-            if { $test_name != $test } {
-                set no [expr {$no + 1}]
+            if {$test_name ne $test} {
+                incr no
             }
         }
-        if { $no == [llength $test_suite] } {
+        if {$no == [llength $test_suite]} {
             print_help tests
             exit 1
         }
-    } elseif { $arg eq "-l" } {
+    } elseif {$arg eq "-l"} {
         print_help tests
         exit 0
-    } elseif { $arg eq "-nocolor" } {
+    } elseif {$arg eq "-nocolor"} {
         set color_out "no"
     }
 }
 
 
 # Run tests
-if { $test_name ne ""} {
-    set result [eval exec $tcl $test_name $arguments 2>@stderr]
+if {$test_name ne ""} {
+    set result [exec -ignorestderr $tcl $test_name {*}$arguments]
     puts $result
 
 } else {
@@ -80,31 +81,33 @@
     set test_suite [glob *.test]
 
     foreach test $test_suite {
-        set result [eval exec $tcl $test $arguments 2>@stderr]
-	set lastline [lindex [split $result "\n"] end]
+        set result [exec -ignorestderr $tcl $test {*}$arguments]
+        set lastline [lindex [split $result "\n"] end]
 
-	if {[lrange [split $lastline "\t"] 1 1] != "Total"} {
-	    set lastline [lindex [split $result "\n"] end-2]
-	    set errmsg [lindex [split $result "\n"] end]
-	}
+        if {[lrange [split $lastline "\t"] 1 1] != "Total"} {
+            set lastline [lindex [split $result "\n"] end-2]
+            set errmsg [lindex [split $result "\n"] end]
+        }
 
-	set splitresult [split $lastline "\t"]
+        set splitresult [split $lastline "\t"]
         set total [lindex $splitresult 2]
         set pass [lindex $splitresult 4]
         set skip [lindex $splitresult 6]
         set fail [lindex $splitresult 8]
 
-	# Format output
-	if {$total < 10} { set total "0${total}"}
-	if {$pass < 10} { set pass "0${pass}"}
-	if {$skip < 10} { set skip "0${skip}"}
-	if {$fail < 10} { set fail "0${fail}"}
+        # Format output
+        if {$total < 10} { set total "0${total}"}
+        if {$pass < 10} { set pass "0${pass}"}
+        if {$skip < 10} { set skip "0${skip}"}
+        if {$fail < 10} { set fail "0${fail}"}
 
         # Check for errors.
-        if { $fail != 0 } { set err "yes" }
+        if {$fail != 0} {
+            set err "yes"
+        }
 
         set out ""
-        if { ($fail != 0 || $skip != 0) && $color_out eq "" } {
+        if {($fail != 0 || $skip != 0) && $color_out eq ""} {
             # Color failed tests.
             append out "\x1b\[1;31mTotal:" $total " Passed:" $pass " Failed:" $fail " Skipped:" $skip "  \x1b\[0m" $test
         } else {
@@ -113,19 +116,21 @@
 
         # Print results and constrints for auto-skipped tests.
         puts $out
-        if { $skip != 0 } {
+        if {$skip != 0} {
             set out "    Constraint: "
             append out [string trim $errmsg "\t {}"]
             puts $out
         }
-	if { $fail != 0 } {
-	    set end [expr {[string first $test $result 0] - 1}]
-	    puts [string range $result 0 $end]
-	}
+        if {$fail != 0} {
+            set end [expr {[string first $test $result 0] - 1}]
+            puts [string range $result 0 $end]
+        }
     }
 }
 
 # Return 1 if errors were found.
-if {$err ne ""} { exit 1 }
+if {$err ne ""} {
+    exit 1
+}
 
 return 0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140502/b203a38b/attachment-0001.html>


More information about the macports-changes mailing list