<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[141366] trunk/base/src</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/141366">141366</a></dd>
<dt>Author</dt> <dd>raimue@macports.org</dd>
<dt>Date</dt> <dd>2015-10-16 07:05:11 -0700 (Fri, 16 Oct 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Unify test.tcl files into a single script at src/tests/test.tcl</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkbasesrcmacports10Makefilein">trunk/base/src/macports1.0/Makefile.in</a></li>
<li><a href="#trunkbasesrcpackage10Makefilein">trunk/base/src/package1.0/Makefile.in</a></li>
<li><a href="#trunkbasesrcport10Makefilein">trunk/base/src/port1.0/Makefile.in</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/base/src/tests/</li>
<li><a href="#trunkbasesrcteststesttcl">trunk/base/src/tests/test.tcl</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkbasesrcmacports10teststesttcl">trunk/base/src/macports1.0/tests/test.tcl</a></li>
<li><a href="#trunkbasesrcpackage10teststesttcl">trunk/base/src/package1.0/tests/test.tcl</a></li>
<li><a href="#trunkbasesrcport10teststesttcl">trunk/base/src/port1.0/tests/test.tcl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkbasesrcmacports10Makefilein"></a>
<div class="modfile"><h4>Modified: trunk/base/src/macports1.0/Makefile.in (141365 => 141366)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/base/src/macports1.0/Makefile.in        2015-10-16 13:40:35 UTC (rev 141365)
+++ trunk/base/src/macports1.0/Makefile.in        2015-10-16 14:05:11 UTC (rev 141366)
</span><span class="lines">@@ -18,7 +18,7 @@
</span><span class="cx"> pkgIndex.tcl: $(SRCS)
</span><span class="cx"> 
</span><span class="cx"> test::
</span><del>-        $(TCLSH) $(srcdir)/tests/test.tcl -nocolor
</del><ins>+        $(TCLSH) $(srcdir)/../tests/test.tcl -nocolor
</ins><span class="cx"> 
</span><span class="cx"> distclean:: clean
</span><span class="cx">         rm -f macports_autoconf.tcl macports_test_autoconf.tcl ${SHLIB_NAME}
</span></span></pre></div>
<a id="trunkbasesrcmacports10teststesttcl"></a>
<div class="delfile"><h4>Deleted: trunk/base/src/macports1.0/tests/test.tcl (141365 => 141366)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/base/src/macports1.0/tests/test.tcl        2015-10-16 13:40:35 UTC (rev 141365)
+++ trunk/base/src/macports1.0/tests/test.tcl        2015-10-16 14:05:11 UTC (rev 141366)
</span><span class="lines">@@ -1,147 +0,0 @@
</span><del>-# Global vars
-set arguments {}
-set test_name &quot;&quot;
-set color_out &quot;&quot;
-set tcl &quot;&quot;
-set err &quot;&quot;
-
-# Get tclsh path.
-set autoconf ../../Mk/macports.autoconf.mk
-set fp [open $autoconf r]
-while {[gets $fp line] != -1} {
-    if {[string match &quot;TCLSH*&quot; $line] != 0} {
-        set tcl [lrange [split $line &quot; &quot;] 1 1]
-    }
-}
-
-proc print_help {arg} {
-    if {$arg eq &quot;tests&quot;} {
-        puts &quot;The list of available tests is:&quot;
-        cd tests
-        set test_suite [glob *.test]
-        foreach test $test_suite {
-            puts [puts -nonewline &quot;  &quot;]$test
-        }
-    } else {
-        puts &quot;Usage: tclsh test.tcl \[-debug level\] \[-t test\] \[-l\]\n&quot;
-        puts &quot;  -debug LVL : sets the level of printed debug info \[0-3\]&quot;
-        puts &quot;  -t TEST    : run a specific test&quot;
-        puts &quot;  -nocolor   : disable color output (for automatic testing)&quot;
-        puts &quot;  -l         : print the list of available tests&quot;
-        puts &quot;  -h, -help  : print this message\n&quot;
-    }
-}
-
-# Process args
-foreach arg $argv {
-    if {$arg eq &quot;-h&quot; || $arg eq &quot;-help&quot;} {
-        print_help &quot;&quot;
-        exit 0
-    } elseif {$arg eq &quot;-debug&quot;} {
-        set index [expr {[lsearch $argv $arg] + 1}]
-        set level [lindex $argv $index]
-        if {$level &gt;= 0 &amp;&amp; $level &lt;= 3} {
-            lappend arguments &quot;-debug&quot; $level
-        } else {
-            puts &quot;Invalid debug level.&quot;
-            exit 1
-        }
-    } elseif {$arg eq &quot;-t&quot;} {
-        set index [expr {[lsearch $argv $arg] + 1}]
-        set test_name [lindex $argv $index]
-        set no 0
-        cd tests
-        set test_suite [glob *.test]
-        foreach test $test_suite {
-            if {$test_name ne $test} {
-                incr no
-            }
-        }
-        if {$no == [llength $test_suite]} {
-            print_help tests
-            exit 1
-        }
-    } elseif {$arg eq &quot;-l&quot;} {
-        print_help tests
-        exit 0
-    } elseif {$arg eq &quot;-nocolor&quot;} {
-        set color_out &quot;no&quot;
-    }
-}
-
-
-# Run tests
-if {$test_name ne &quot;&quot;} {
-    set result [exec -ignorestderr $tcl $test_name {*}$arguments]
-    puts $result
-} else {
-    cd tests
-    set test_suite [glob *.test]
-
-    foreach test $test_suite {
-        set result [exec -ignorestderr $tcl $test {*}$arguments]
-        set lastline [lindex [split $result &quot;\n&quot;] end]
-
-        if {[lrange [split $lastline &quot;\t&quot;] 1 1] ne &quot;Total&quot;} {
-            if {[lrange [split $lastline &quot;\t&quot;] 1 1] eq &quot;&quot;} {
-                set lastline [lindex [split $result &quot;\n&quot;] 0]
-                set errmsg [lindex [split $result &quot;\n&quot;] 2]
-            } else {
-                set lastline [lindex [split $result &quot;\n&quot;] end-2]
-                set errmsg [lindex [split $result &quot;\n&quot;] end]
-            }
-        }
-
-        set splitresult [split $lastline &quot;\t&quot;]
-        set total [lindex $splitresult 2]
-        set pass [lindex $splitresult 4]
-        set skip [lindex $splitresult 6]
-        set fail [lindex $splitresult 8]
-
-        # Format output
-        if {$total &lt; 10} {
-            set total &quot;0${total}&quot;
-        }
-        if {$pass &lt; 10} {
-            set pass &quot;0${pass}&quot;
-        }
-        if {$skip &lt; 10} {
-            set skip &quot;0${skip}&quot;
-        }
-        if {$fail &lt; 10} {
-            set fail &quot;0${fail}&quot;
-        }
-
-        # Check for errors.
-        if {$fail != 0} {
-            set err &quot;yes&quot;
-        }
-
-        set out &quot;&quot;
-        if {($fail != 0 || $skip != 0) &amp;&amp; $color_out eq &quot;&quot;} {
-            # Color failed tests.
-            append out &quot;\x1b\[1;31mTotal:&quot; $total &quot; Passed:&quot; $pass &quot; Failed:&quot; $fail &quot; Skipped:&quot; $skip &quot;  \x1b\[0m&quot; $test
-        } else {
-            append out &quot;Total:&quot; $total &quot; Passed:&quot; $pass &quot; Failed:&quot; $fail &quot; Skipped:&quot; $skip &quot;  &quot; $test
-        }
-
-        # Print results and constrints for auto-skipped tests.
-        puts $out
-        if {$skip != 0} {
-            set out &quot;    Constraint: &quot;
-            append out [string trim $errmsg &quot;\t {}&quot;]
-            puts $out
-        }
-        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 &quot;&quot;} {
-    exit 1
-}
-
-return 0
</del></span></pre></div>
<a id="trunkbasesrcpackage10Makefilein"></a>
<div class="modfile"><h4>Modified: trunk/base/src/package1.0/Makefile.in (141365 => 141366)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/base/src/package1.0/Makefile.in        2015-10-16 13:40:35 UTC (rev 141365)
+++ trunk/base/src/package1.0/Makefile.in        2015-10-16 14:05:11 UTC (rev 141366)
</span><span class="lines">@@ -23,7 +23,7 @@
</span><span class="cx"> 
</span><span class="cx"> test::
</span><span class="cx">         -$(prefix)/bin/port sync
</span><del>-        $(TCLSH) $(srcdir)/tests/test.tcl -nocolor
</del><ins>+        $(TCLSH) $(srcdir)/../tests/test.tcl -nocolor
</ins><span class="cx"> 
</span><span class="cx"> install:: all
</span><span class="cx">         $(INSTALL) -d -o &quot;${DSTUSR}&quot; -g &quot;${DSTGRP}&quot; -m &quot;${DSTMODE}&quot; &quot;${INSTALLDIR}&quot;
</span></span></pre></div>
<a id="trunkbasesrcpackage10teststesttcl"></a>
<div class="delfile"><h4>Deleted: trunk/base/src/package1.0/tests/test.tcl (141365 => 141366)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/base/src/package1.0/tests/test.tcl        2015-10-16 13:40:35 UTC (rev 141365)
+++ trunk/base/src/package1.0/tests/test.tcl        2015-10-16 14:05:11 UTC (rev 141366)
</span><span class="lines">@@ -1,147 +0,0 @@
</span><del>-# Global vars
-set arguments {}
-set test_name &quot;&quot;
-set color_out &quot;&quot;
-set tcl &quot;&quot;
-set err &quot;&quot;
-
-# Get tclsh path.
-set autoconf ../../Mk/macports.autoconf.mk
-set fp [open $autoconf r]
-while {[gets $fp line] != -1} {
-    if {[string match &quot;TCLSH*&quot; $line] != 0} {
-        set tcl [lrange [split $line &quot; &quot;] 1 1]
-    }
-}
-
-proc print_help {arg} {
-    if {$arg eq &quot;tests&quot;} {
-        puts &quot;The list of available tests is:&quot;
-        cd tests
-        set test_suite [glob *.test]
-        foreach test $test_suite {
-            puts [puts -nonewline &quot;  &quot;]$test
-        }
-    } else {
-        puts &quot;Usage: tclsh test.tcl \[-debug level\] \[-t test\] \[-l\]\n&quot;
-        puts &quot;  -debug LVL : sets the level of printed debug info \[0-3\]&quot;
-        puts &quot;  -t TEST    : run a specific test&quot;
-        puts &quot;  -nocolor   : disable color output (for automatic testing)&quot;
-        puts &quot;  -l         : print the list of available tests&quot;
-        puts &quot;  -h, -help  : print this message\n&quot;
-    }
-}
-
-# Process args
-foreach arg $argv {
-    if {$arg eq &quot;-h&quot; || $arg eq &quot;-help&quot;} {
-        print_help &quot;&quot;
-        exit 0
-    } elseif {$arg eq &quot;-debug&quot;} {
-        set index [expr {[lsearch $argv $arg] + 1}]
-        set level [lindex $argv $index]
-        if {$level &gt;= 0 &amp;&amp; $level &lt;= 3} {
-            lappend arguments &quot;-debug&quot; $level
-        } else {
-            puts &quot;Invalid debug level.&quot;
-            exit 1
-        }
-    } elseif {$arg eq &quot;-t&quot;} {
-        set index [expr {[lsearch $argv $arg] + 1}]
-        set test_name [lindex $argv $index]
-        set no 0
-        cd tests
-        set test_suite [glob *.test]
-        foreach test $test_suite {
-            if {$test_name ne $test} {
-                incr no
-            }
-        }
-        if {$no == [llength $test_suite]} {
-            print_help tests
-            exit 1
-        }
-    } elseif {$arg eq &quot;-l&quot;} {
-        print_help tests
-        exit 0
-    } elseif {$arg eq &quot;-nocolor&quot;} {
-        set color_out &quot;no&quot;
-    }
-}
-
-
-# Run tests
-if {$test_name ne &quot;&quot;} {
-    set result [exec -ignorestderr $tcl $test_name {*}$arguments]
-    puts $result
-} else {
-    cd tests
-    set test_suite [glob *.test]
-
-    foreach test $test_suite {
-        set result [exec -ignorestderr $tcl $test {*}$arguments]
-        set lastline [lindex [split $result &quot;\n&quot;] end]
-
-        if {[lrange [split $lastline &quot;\t&quot;] 1 1] ne &quot;Total&quot;} {
-            if {[lrange [split $lastline &quot;\t&quot;] 1 1] eq &quot;&quot;} {
-                set lastline [lindex [split $result &quot;\n&quot;] 0]
-                set errmsg [lindex [split $result &quot;\n&quot;] 2]
-            } else {
-                set lastline [lindex [split $result &quot;\n&quot;] end-2]
-                set errmsg [lindex [split $result &quot;\n&quot;] end]
-            }
-        }
-
-        set splitresult [split $lastline &quot;\t&quot;]
-        set total [lindex $splitresult 2]
-        set pass [lindex $splitresult 4]
-        set skip [lindex $splitresult 6]
-        set fail [lindex $splitresult 8]
-
-        # Format output
-        if {$total &lt; 10} {
-            set total &quot;0${total}&quot;
-        }
-        if {$pass &lt; 10} {
-            set pass &quot;0${pass}&quot;
-        }
-        if {$skip &lt; 10} {
-            set skip &quot;0${skip}&quot;
-        }
-        if {$fail &lt; 10} {
-            set fail &quot;0${fail}&quot;
-        }
-
-        # Check for errors.
-        if {$fail != 0} {
-            set err &quot;yes&quot;
-        }
-
-        set out &quot;&quot;
-        if {($fail != 0 || $skip != 0) &amp;&amp; $color_out eq &quot;&quot;} {
-            # Color failed tests.
-            append out &quot;\x1b\[1;31mTotal:&quot; $total &quot; Passed:&quot; $pass &quot; Failed:&quot; $fail &quot; Skipped:&quot; $skip &quot;  \x1b\[0m&quot; $test
-        } else {
-            append out &quot;Total:&quot; $total &quot; Passed:&quot; $pass &quot; Failed:&quot; $fail &quot; Skipped:&quot; $skip &quot;  &quot; $test
-        }
-
-        # Print results and constrints for auto-skipped tests.
-        puts $out
-        if {$skip != 0} {
-            set out &quot;    Constraint: &quot;
-            append out [string trim $errmsg &quot;\t {}&quot;]
-            puts $out
-        }
-        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 &quot;&quot;} {
-    exit 1
-}
-
-return 0
</del></span></pre></div>
<a id="trunkbasesrcport10Makefilein"></a>
<div class="modfile"><h4>Modified: trunk/base/src/port1.0/Makefile.in (141365 => 141366)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/base/src/port1.0/Makefile.in        2015-10-16 13:40:35 UTC (rev 141365)
+++ trunk/base/src/port1.0/Makefile.in        2015-10-16 14:05:11 UTC (rev 141366)
</span><span class="lines">@@ -41,4 +41,4 @@
</span><span class="cx">         $(INSTALL) -o &quot;${DSTUSR}&quot; -g &quot;${DSTGRP}&quot; -m 444 pkgIndex.tcl &quot;${INSTALLDIR}&quot;
</span><span class="cx"> 
</span><span class="cx"> test::
</span><del>-        $(TCLSH) $(srcdir)/tests/test.tcl -nocolor
</del><ins>+        $(TCLSH) $(srcdir)/../tests/test.tcl -nocolor
</ins></span></pre></div>
<a id="trunkbasesrcport10teststesttcl"></a>
<div class="delfile"><h4>Deleted: trunk/base/src/port1.0/tests/test.tcl (141365 => 141366)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/base/src/port1.0/tests/test.tcl        2015-10-16 13:40:35 UTC (rev 141365)
+++ trunk/base/src/port1.0/tests/test.tcl        2015-10-16 14:05:11 UTC (rev 141366)
</span><span class="lines">@@ -1,147 +0,0 @@
</span><del>-# Global vars
-set arguments {}
-set test_name &quot;&quot;
-set color_out &quot;&quot;
-set tcl &quot;&quot;
-set err &quot;&quot;
-
-# Get tclsh path.
-set autoconf ../../Mk/macports.autoconf.mk
-set fp [open $autoconf r]
-while {[gets $fp line] != -1} {
-    if {[string match &quot;TCLSH*&quot; $line] != 0} {
-        set tcl [lrange [split $line &quot; &quot;] 1 1]
-    }
-}
-
-proc print_help {arg} {
-    if {$arg eq &quot;tests&quot;} {
-        puts &quot;The list of available tests is:&quot;
-        cd tests
-        set test_suite [glob *.test]
-        foreach test $test_suite {
-            puts [puts -nonewline &quot;  &quot;]$test
-        }
-    } else {
-        puts &quot;Usage: tclsh test.tcl \[-debug level\] \[-t test\] \[-l\]\n&quot;
-        puts &quot;  -debug LVL : sets the level of printed debug info \[0-3\]&quot;
-        puts &quot;  -t TEST    : run a specific test&quot;
-        puts &quot;  -nocolor   : disable color output (for automatic testing)&quot;
-        puts &quot;  -l         : print the list of available tests&quot;
-        puts &quot;  -h, -help  : print this message\n&quot;
-    }
-}
-
-# Process args
-foreach arg $argv {
-    if {$arg eq &quot;-h&quot; || $arg eq &quot;-help&quot;} {
-        print_help &quot;&quot;
-        exit 0
-    } elseif {$arg eq &quot;-debug&quot;} {
-        set index [expr {[lsearch $argv $arg] + 1}]
-        set level [lindex $argv $index]
-        if {$level &gt;= 0 &amp;&amp; $level &lt;= 3} {
-            lappend arguments &quot;-debug&quot; $level
-        } else {
-            puts &quot;Invalid debug level.&quot;
-            exit 1
-        }
-    } elseif {$arg eq &quot;-t&quot;} {
-        set index [expr {[lsearch $argv $arg] + 1}]
-        set test_name [lindex $argv $index]
-        set no 0
-        cd tests
-        set test_suite [glob *.test]
-        foreach test $test_suite {
-            if {$test_name ne $test} {
-                incr no
-            }
-        }
-        if {$no == [llength $test_suite]} {
-            print_help tests
-            exit 1
-        }
-    } elseif {$arg eq &quot;-l&quot;} {
-        print_help tests
-        exit 0
-    } elseif {$arg eq &quot;-nocolor&quot;} {
-        set color_out &quot;no&quot;
-    }
-}
-
-
-# Run tests
-if {$test_name ne &quot;&quot;} {
-    set result [exec -ignorestderr $tcl $test_name {*}$arguments]
-    puts $result
-} else {
-    cd tests
-    set test_suite [glob *.test]
-
-    foreach test $test_suite {
-        set result [exec -ignorestderr $tcl $test {*}$arguments]
-        set lastline [lindex [split $result &quot;\n&quot;] end]
-
-        if {[lrange [split $lastline &quot;\t&quot;] 1 1] ne &quot;Total&quot;} {
-            if {[lrange [split $lastline &quot;\t&quot;] 1 1] eq &quot;&quot;} {
-                set lastline [lindex [split $result &quot;\n&quot;] 0]
-                set errmsg [lindex [split $result &quot;\n&quot;] 2]
-            } else {
-                set lastline [lindex [split $result &quot;\n&quot;] end-2]
-                set errmsg [lindex [split $result &quot;\n&quot;] end]
-            }
-        }
-
-        set splitresult [split $lastline &quot;\t&quot;]
-        set total [lindex $splitresult 2]
-        set pass [lindex $splitresult 4]
-        set skip [lindex $splitresult 6]
-        set fail [lindex $splitresult 8]
-
-        # Format output
-        if {$total &lt; 10} {
-            set total &quot;0${total}&quot;
-        }
-        if {$pass &lt; 10} {
-            set pass &quot;0${pass}&quot;
-        }
-        if {$skip &lt; 10} {
-            set skip &quot;0${skip}&quot;
-        }
-        if {$fail &lt; 10} {
-            set fail &quot;0${fail}&quot;
-        }
-
-        # Check for errors.
-        if {$fail != 0} {
-            set err &quot;yes&quot;
-        }
-
-        set out &quot;&quot;
-        if {($fail != 0 || $skip != 0) &amp;&amp; $color_out eq &quot;&quot;} {
-            # Color failed tests.
-            append out &quot;\x1b\[1;31mTotal:&quot; $total &quot; Passed:&quot; $pass &quot; Failed:&quot; $fail &quot; Skipped:&quot; $skip &quot;  \x1b\[0m&quot; $test
-        } else {
-            append out &quot;Total:&quot; $total &quot; Passed:&quot; $pass &quot; Failed:&quot; $fail &quot; Skipped:&quot; $skip &quot;  &quot; $test
-        }
-
-        # Print results and constrints for auto-skipped tests.
-        puts $out
-        if {$skip != 0} {
-            set out &quot;    Constraint: &quot;
-            append out [string trim $errmsg &quot;\t {}&quot;]
-            puts $out
-        }
-        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 &quot;&quot;} {
-    exit 1
-}
-
-return 0
</del></span></pre></div>
<a id="trunkbasesrcteststesttclfromrev141365trunkbasesrcmacports10teststesttcl"></a>
<div class="copfile"><h4>Copied: trunk/base/src/tests/test.tcl (from rev 141365, trunk/base/src/macports1.0/tests/test.tcl) (0 => 141366)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/base/src/tests/test.tcl                                (rev 0)
+++ trunk/base/src/tests/test.tcl        2015-10-16 14:05:11 UTC (rev 141366)
</span><span class="lines">@@ -0,0 +1,147 @@
</span><ins>+# Global vars
+set arguments {}
+set test_name &quot;&quot;
+set color_out &quot;&quot;
+set tcl &quot;&quot;
+set err &quot;&quot;
+
+# Get tclsh path.
+set autoconf ../../Mk/macports.autoconf.mk
+set fp [open $autoconf r]
+while {[gets $fp line] != -1} {
+    if {[string match &quot;TCLSH*&quot; $line] != 0} {
+        set tcl [lrange [split $line &quot; &quot;] 1 1]
+    }
+}
+
+proc print_help {arg} {
+    if {$arg eq &quot;tests&quot;} {
+        puts &quot;The list of available tests is:&quot;
+        cd tests
+        set test_suite [glob *.test]
+        foreach test $test_suite {
+            puts [puts -nonewline &quot;  &quot;]$test
+        }
+    } else {
+        puts &quot;Usage: tclsh test.tcl \[-debug level\] \[-t test\] \[-l\]\n&quot;
+        puts &quot;  -debug LVL : sets the level of printed debug info \[0-3\]&quot;
+        puts &quot;  -t TEST    : run a specific test&quot;
+        puts &quot;  -nocolor   : disable color output (for automatic testing)&quot;
+        puts &quot;  -l         : print the list of available tests&quot;
+        puts &quot;  -h, -help  : print this message\n&quot;
+    }
+}
+
+# Process args
+foreach arg $argv {
+    if {$arg eq &quot;-h&quot; || $arg eq &quot;-help&quot;} {
+        print_help &quot;&quot;
+        exit 0
+    } elseif {$arg eq &quot;-debug&quot;} {
+        set index [expr {[lsearch $argv $arg] + 1}]
+        set level [lindex $argv $index]
+        if {$level &gt;= 0 &amp;&amp; $level &lt;= 3} {
+            lappend arguments &quot;-debug&quot; $level
+        } else {
+            puts &quot;Invalid debug level.&quot;
+            exit 1
+        }
+    } elseif {$arg eq &quot;-t&quot;} {
+        set index [expr {[lsearch $argv $arg] + 1}]
+        set test_name [lindex $argv $index]
+        set no 0
+        cd tests
+        set test_suite [glob *.test]
+        foreach test $test_suite {
+            if {$test_name ne $test} {
+                incr no
+            }
+        }
+        if {$no == [llength $test_suite]} {
+            print_help tests
+            exit 1
+        }
+    } elseif {$arg eq &quot;-l&quot;} {
+        print_help tests
+        exit 0
+    } elseif {$arg eq &quot;-nocolor&quot;} {
+        set color_out &quot;no&quot;
+    }
+}
+
+
+# Run tests
+if {$test_name ne &quot;&quot;} {
+    set result [exec -ignorestderr $tcl $test_name {*}$arguments]
+    puts $result
+} else {
+    cd tests
+    set test_suite [glob *.test]
+
+    foreach test $test_suite {
+        set result [exec -ignorestderr $tcl $test {*}$arguments]
+        set lastline [lindex [split $result &quot;\n&quot;] end]
+
+        if {[lrange [split $lastline &quot;\t&quot;] 1 1] ne &quot;Total&quot;} {
+            if {[lrange [split $lastline &quot;\t&quot;] 1 1] eq &quot;&quot;} {
+                set lastline [lindex [split $result &quot;\n&quot;] 0]
+                set errmsg [lindex [split $result &quot;\n&quot;] 2]
+            } else {
+                set lastline [lindex [split $result &quot;\n&quot;] end-2]
+                set errmsg [lindex [split $result &quot;\n&quot;] end]
+            }
+        }
+
+        set splitresult [split $lastline &quot;\t&quot;]
+        set total [lindex $splitresult 2]
+        set pass [lindex $splitresult 4]
+        set skip [lindex $splitresult 6]
+        set fail [lindex $splitresult 8]
+
+        # Format output
+        if {$total &lt; 10} {
+            set total &quot;0${total}&quot;
+        }
+        if {$pass &lt; 10} {
+            set pass &quot;0${pass}&quot;
+        }
+        if {$skip &lt; 10} {
+            set skip &quot;0${skip}&quot;
+        }
+        if {$fail &lt; 10} {
+            set fail &quot;0${fail}&quot;
+        }
+
+        # Check for errors.
+        if {$fail != 0} {
+            set err &quot;yes&quot;
+        }
+
+        set out &quot;&quot;
+        if {($fail != 0 || $skip != 0) &amp;&amp; $color_out eq &quot;&quot;} {
+            # Color failed tests.
+            append out &quot;\x1b\[1;31mTotal:&quot; $total &quot; Passed:&quot; $pass &quot; Failed:&quot; $fail &quot; Skipped:&quot; $skip &quot;  \x1b\[0m&quot; $test
+        } else {
+            append out &quot;Total:&quot; $total &quot; Passed:&quot; $pass &quot; Failed:&quot; $fail &quot; Skipped:&quot; $skip &quot;  &quot; $test
+        }
+
+        # Print results and constrints for auto-skipped tests.
+        puts $out
+        if {$skip != 0} {
+            set out &quot;    Constraint: &quot;
+            append out [string trim $errmsg &quot;\t {}&quot;]
+            puts $out
+        }
+        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 &quot;&quot;} {
+    exit 1
+}
+
+return 0
</ins></span></pre>
</div>
</div>

</body>
</html>