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 | 15 ++-- 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, 9 insertions(+), 157 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..22e0fd3 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,11 +17,13 @@ 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 += \ @@ -32,9 +34,10 @@ build # make check #endef
- install_cmds - make -C doc DESTDIR=%{BUILDROOT} install-man - end + #commented out because no target in 1.6 + #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
On Thu, 2016-05-19 at 17:26 +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 | 15 ++-- 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, 9 insertions(+), 157 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..22e0fd3 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,11 +17,13 @@ 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 += \ @@ -32,9 +34,10 @@ build # make check #endef
- install_cmds
make -C doc DESTDIR=%{BUILDROOT} install-man
- end
- #commented out because no target in 1.6
- #install_cmds
- # make -C doc DESTDIR=%{BUILDROOT} install-man
- #end
Just remove those lines if they are not used any more.
It is okay to use comments for the test suite above because that actually transports some information. In this case you could still have a look at the git history to find out what a previous version of the file looked like.
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