dejagnu: Update to 1.6
Fixes: #11101 Important changes include decent SSH support, many bug fixes and a much improved manual. Many old and defunct board files have been removed. Refer to the NEWS file for full details. Signed-off-by: Alexander Marx <alexander.marx@ipfire.org> Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
parent
414da87e47
commit
03f7d5089f
|
@ -4,8 +4,8 @@
|
|||
###############################################################################
|
||||
|
||||
name = dejagnu
|
||||
version = 1.4.4
|
||||
release = 2
|
||||
version = 1.6
|
||||
release = 1
|
||||
arch = noarch
|
||||
|
||||
groups = Development/Tools
|
||||
|
@ -17,24 +17,18 @@ description
|
|||
DejaGnu is an Expect/Tcl based framework for testing other programs.
|
||||
end
|
||||
|
||||
source_dl =
|
||||
source_dl = http://mirror.netcologne.de/gnu/dejagnu/
|
||||
sources = %{thisapp}.tar.gz
|
||||
|
||||
build
|
||||
requires
|
||||
bison
|
||||
expect
|
||||
end
|
||||
|
||||
configure_options += \
|
||||
--mandir=/usr/share/man
|
||||
|
||||
# Disabled because testsuite doesn't wort at the moment.
|
||||
#define test
|
||||
# make check
|
||||
#endef
|
||||
|
||||
install_cmds
|
||||
make -C doc DESTDIR=%{BUILDROOT} install-man
|
||||
end
|
||||
end
|
||||
|
||||
packages
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
--- dejagnu-1.4.4/runtest.exp.old 2003-10-15 15:22:52.000000000 +0200
|
||||
+++ dejagnu-1.4.4/runtest.exp 2008-08-27 16:22:18.000000000 +0200
|
||||
@@ -1443,8 +1443,7 @@
|
||||
global tool
|
||||
|
||||
clone_output "Running $test_file_name ..."
|
||||
- set prms_id 0
|
||||
- set bug_id 0
|
||||
+ reset_vars
|
||||
set test_result ""
|
||||
|
||||
if [file exists $test_file_name] {
|
|
@ -1,26 +0,0 @@
|
|||
--- dejagnu-1.4.4/lib/remote.exp.smp 2003-10-10 23:42:46.000000000 -0700
|
||||
+++ dejagnu-1.4.4/lib/remote.exp 2005-08-05 12:32:10.107161990 -0700
|
||||
@@ -91,9 +91,13 @@ proc local_exec { commandline inp outp t
|
||||
# programs that bear children. We can't use tcl's exec because it has
|
||||
# no way to timeout programs that hang. *sigh*
|
||||
#
|
||||
+ # The expect command will close the connection when it sees EOF. On
|
||||
+ # SMP machine, close the connection may send SIGHUP to the child
|
||||
+ # and cause it to exit before it can exit normally. We should make
|
||||
+ # the child to ignore SIGHUP.
|
||||
if { "$inp" == "" && "$outp" == "" } {
|
||||
set id -1
|
||||
- set result [catch "eval spawn \{${commandline}\}" pid]
|
||||
+ set result [catch "eval spawn -ignore SIGHUP \{${commandline}\}" pid]
|
||||
if { $result == 0 } {
|
||||
set result2 0
|
||||
} else {
|
||||
@@ -134,7 +138,7 @@ proc local_exec { commandline inp outp t
|
||||
return [list -1 "open of $commandline $inp $outp failed: $errorInfo"]
|
||||
}
|
||||
set pid [pid $id]
|
||||
- set result [catch "spawn -leaveopen $id" result2]
|
||||
+ set result [catch "spawn -ignore SIGHUP -leaveopen $id" result2]
|
||||
}
|
||||
# Prepend "-" to each pid, to generate the "process group IDs" needed by
|
||||
# kill.
|
|
@ -1,93 +0,0 @@
|
|||
diff -Burp dejagnu-1.4.4/testsuite/libdejagnu/unit.cc dejagnu-1.4.4-pm/testsuite/libdejagnu/unit.cc
|
||||
--- dejagnu-1.4.4/testsuite/libdejagnu/unit.cc 2003-08-17 03:33:06.000000000 +0200
|
||||
+++ dejagnu-1.4.4-pm/testsuite/libdejagnu/unit.cc 2007-10-03 18:31:03.000000000 +0200
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <fstream>
|
||||
#include <set>
|
||||
#include <dejagnu.h>
|
||||
+#include <sstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
@@ -49,12 +50,8 @@ main (int argc, char *argv[]) {
|
||||
// Replace the output buffer for cout, so we can examine it to
|
||||
// see what was displayed. Otherwise, there is no way we can test
|
||||
// the logging functions completely.
|
||||
- char bbuuff[5120];
|
||||
-#ifdef __STDC_HOSTED__
|
||||
- cout.rdbuf()->pubsetbuf(bbuuff, 5120);
|
||||
-#else
|
||||
- cout.rdbuf()->setbuf(bbuuff, 5120);
|
||||
-#endif
|
||||
+ stringstream stream;
|
||||
+ streambuf * buf = cout.rdbuf(stream.rdbuf());
|
||||
|
||||
testClass1.tname = "testType1";
|
||||
testClass1.tnum = 1;
|
||||
@@ -65,53 +62,59 @@ main (int argc, char *argv[]) {
|
||||
|
||||
// Test the pass message
|
||||
test.pass ("bogus pass message for testing");
|
||||
+ cout.flush();
|
||||
outstate = os2;
|
||||
- if (strncmp(bbuuff, "\tPAS: bogus pass message", 22) == 0) {
|
||||
+ if (strncmp(stream.str().c_str(), "\tPAS: bogus pass message", 22) == 0) {
|
||||
runtest.pass ("Pass message");
|
||||
} else {
|
||||
runtest.fail ("Pass message");
|
||||
}
|
||||
+ stream.str("");
|
||||
|
||||
// Test the fail message
|
||||
outstate = os1;
|
||||
test.fail ("bogus fail message for testing");
|
||||
cout.flush();
|
||||
outstate = os2;
|
||||
- if (strncmp(bbuuff, "\tFAI: bogus fail message", 22) == 0) {
|
||||
+ if (strncmp(stream.str().c_str(), "\tFAI: bogus fail message", 22) == 0) {
|
||||
runtest.pass ("Fail message");
|
||||
} else {
|
||||
runtest.fail ("Fail message");
|
||||
}
|
||||
+ stream.str("");
|
||||
|
||||
// Test the untested message
|
||||
outstate = os1;
|
||||
test.untested ("bogus untested message for testing");
|
||||
cout.flush();
|
||||
outstate = os2;
|
||||
- if (strncmp(bbuuff, "\tUNT: bogus untested message", 21) == 0) {
|
||||
+ if (strncmp(stream.str().c_str(), "\tUNT: bogus untested message", 21) == 0) {
|
||||
runtest.pass ("Untested message");
|
||||
} else {
|
||||
runtest.fail ("Untested message");
|
||||
}
|
||||
+ stream.str("");
|
||||
|
||||
// Test the unresolved message
|
||||
outstate = os1;
|
||||
test.unresolved ("bogus unresolved message for testing");
|
||||
cout.flush();
|
||||
outstate = os2;
|
||||
- if (strncmp(bbuuff, "\tUNR: bogus unresolved message", 21) == 0) {
|
||||
+ if (strncmp(stream.str().c_str(), "\tUNR: bogus unresolved message", 21) == 0) {
|
||||
runtest.pass ("Unresolved message");
|
||||
} else {
|
||||
runtest.fail ("Unresolved message");
|
||||
}
|
||||
+ stream.str("");
|
||||
|
||||
// Make sure we got everything in the totals
|
||||
regcomp (®ex_pat, "\r\n\t#passed.*#failed.*#untested.*#unresolved", REG_NOSUB|REG_NEWLINE);
|
||||
- if (regexec (®ex_pat, bbuuff, 0, (regmatch_t *)0, 0)) {
|
||||
+ if (regexec (®ex_pat, stream.str().c_str(), 0, (regmatch_t *)0, 0)) {
|
||||
runtest.pass ("Totals message");
|
||||
} else {
|
||||
runtest.fail ("Totals message");
|
||||
}
|
||||
-}
|
||||
-
|
||||
+ stream.str("");
|
||||
|
||||
+ cout.rdbuf(buf);
|
||||
+}
|
|
@ -1,20 +0,0 @@
|
|||
--- dejagnu-1.4.4/lib/utils.exp 2009-10-16 12:58:38.000000000 +0200
|
||||
+++ dejagnu-1.4.4/lib/utils.exp 2010-01-21 21:12:54.144855458 +0100
|
||||
@@ -106,7 +106,7 @@ proc find { rootdir pattern } {
|
||||
foreach i $dirs {
|
||||
verbose "Looking in $i" 3
|
||||
foreach match [glob -nocomplain $i/$pattern] {
|
||||
- if ![file isdirectory $match] {
|
||||
+ if {![file isdirectory $match]} {
|
||||
lappend files $match
|
||||
verbose "Adding $match to file list" 3
|
||||
}
|
||||
@@ -216,7 +216,7 @@ proc prune { list pattern } {
|
||||
set tmp {}
|
||||
foreach i $list {
|
||||
verbose "Checking pattern \"$pattern\" against $i" 3
|
||||
- if ![string match $pattern $i] {
|
||||
+ if {![string match $pattern $i]} {
|
||||
lappend tmp $i
|
||||
} else {
|
||||
verbose "Removing element $i from list" 3
|
Loading…
Reference in New Issue