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 --- dejagnu/dejagnu.nm | 16 ++-- dejagnu/patches/dejagnu-1.4.4-runtest.patch | 12 --- dejagnu/patches/dejagnu-1.4.4-smp-1.patch | 26 ------- dejagnu/patches/dejagnu-1.4.4-testsuite.patch | 93 ----------------------- dejagnu/patches/dejagnu-1.4.4-utils-speedup.patch | 20 ----- 5 files changed, 5 insertions(+), 162 deletions(-) delete mode 100644 dejagnu/patches/dejagnu-1.4.4-runtest.patch delete mode 100644 dejagnu/patches/dejagnu-1.4.4-smp-1.patch delete mode 100644 dejagnu/patches/dejagnu-1.4.4-testsuite.patch delete mode 100644 dejagnu/patches/dejagnu-1.4.4-utils-speedup.patch
diff --git a/dejagnu/dejagnu.nm b/dejagnu/dejagnu.nm index c0f8fe4..d6e0a6e 100644 --- a/dejagnu/dejagnu.nm +++ b/dejagnu/dejagnu.nm @@ -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 diff --git a/dejagnu/patches/dejagnu-1.4.4-runtest.patch b/dejagnu/patches/dejagnu-1.4.4-runtest.patch deleted file mode 100644 index 2d75f4c..0000000 --- a/dejagnu/patches/dejagnu-1.4.4-runtest.patch +++ /dev/null @@ -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] { diff --git a/dejagnu/patches/dejagnu-1.4.4-smp-1.patch b/dejagnu/patches/dejagnu-1.4.4-smp-1.patch deleted file mode 100644 index 0a30f45..0000000 --- a/dejagnu/patches/dejagnu-1.4.4-smp-1.patch +++ /dev/null @@ -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. diff --git a/dejagnu/patches/dejagnu-1.4.4-testsuite.patch b/dejagnu/patches/dejagnu-1.4.4-testsuite.patch deleted file mode 100644 index d9e07ea..0000000 --- a/dejagnu/patches/dejagnu-1.4.4-testsuite.patch +++ /dev/null @@ -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); -+} diff --git a/dejagnu/patches/dejagnu-1.4.4-utils-speedup.patch b/dejagnu/patches/dejagnu-1.4.4-utils-speedup.patch deleted file mode 100644 index 2823d5d..0000000 --- a/dejagnu/patches/dejagnu-1.4.4-utils-speedup.patch +++ /dev/null @@ -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
I assume you already knew what I was going to comment on the first version :)
On Fri, 2016-05-20 at 07:39 +0200, Alexander Marx wrote:
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
dejagnu/dejagnu.nm | 16 ++-- dejagnu/patches/dejagnu-1.4.4-runtest.patch | 12 --- dejagnu/patches/dejagnu-1.4.4-smp-1.patch | 26 ------- dejagnu/patches/dejagnu-1.4.4-testsuite.patch | 93 ----------------------
dejagnu/patches/dejagnu-1.4.4-utils-speedup.patch | 20 ----- 5 files changed, 5 insertions(+), 162 deletions(-) delete mode 100644 dejagnu/patches/dejagnu-1.4.4-runtest.patch delete mode 100644 dejagnu/patches/dejagnu-1.4.4-smp-1.patch delete mode 100644 dejagnu/patches/dejagnu-1.4.4-testsuite.patch delete mode 100644 dejagnu/patches/dejagnu-1.4.4-utils-speedup.patch
diff --git a/dejagnu/dejagnu.nm b/dejagnu/dejagnu.nm index c0f8fe4..d6e0a6e 100644 --- a/dejagnu/dejagnu.nm +++ b/dejagnu/dejagnu.nm @@ -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 diff --git a/dejagnu/patches/dejagnu-1.4.4-runtest.patch b/dejagnu/patches/dejagnu-1.4.4-runtest.patch deleted file mode 100644 index 2d75f4c..0000000 --- a/dejagnu/patches/dejagnu-1.4.4-runtest.patch +++ /dev/null @@ -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] { diff --git a/dejagnu/patches/dejagnu-1.4.4-smp-1.patch b/dejagnu/patches/dejagnu-1.4.4-smp-1.patch deleted file mode 100644 index 0a30f45..0000000 --- a/dejagnu/patches/dejagnu-1.4.4-smp-1.patch +++ /dev/null @@ -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. diff --git a/dejagnu/patches/dejagnu-1.4.4-testsuite.patch b/dejagnu/patches/dejagnu-1.4.4-testsuite.patch deleted file mode 100644 index d9e07ea..0000000 --- a/dejagnu/patches/dejagnu-1.4.4-testsuite.patch +++ /dev/null @@ -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); -+} diff --git a/dejagnu/patches/dejagnu-1.4.4-utils-speedup.patch b/dejagnu/patches/dejagnu-1.4.4-utils-speedup.patch deleted file mode 100644 index 2823d5d..0000000 --- a/dejagnu/patches/dejagnu-1.4.4-utils-speedup.patch +++ /dev/null @@ -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