- Clean up spec per merge review comments.

- Fix testsuite.
- Resolves: #225679
This commit is contained in:
Petr Machata 2007-10-03 16:42:49 +00:00
parent 59a9d73d53
commit 079cceaec6
2 changed files with 108 additions and 11 deletions

View File

@ -0,0 +1,93 @@
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 (&regex_pat, "\r\n\t#passed.*#failed.*#untested.*#unresolved", REG_NOSUB|REG_NEWLINE);
- if (regexec (&regex_pat, bbuuff, 0, (regmatch_t *)0, 0)) {
+ if (regexec (&regex_pat, stream.str().c_str(), 0, (regmatch_t *)0, 0)) {
runtest.pass ("Totals message");
} else {
runtest.fail ("Totals message");
}
-}
-
+ stream.str("");
+ cout.rdbuf(buf);
+}

View File

@ -1,18 +1,19 @@
Summary: A front end for testing other programs
Name: dejagnu
Version: 1.4.4
Release: 8
Release: 9
Epoch: 1
License: GPLv2+
Source: ftp://ftp.gnu.org/gnu/dejagnu/dejagnu-1.4.4.tar.gz
Source: ftp://ftp.gnu.org/gnu/dejagnu/dejagnu-%{version}.tar.gz
Group: Development/Tools
URL: http://www.gnu.org/software/dejagnu/
Requires: tcl >= 8.0, expect >= 5.21
Requires: expect
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArchitectures: noarch
BuildRequires: jadetex docbook-utils-pdf tetex-dvips
BuildArch: noarch
BuildRequires: expect
Patch1: dejagnu-1.4.4-smp-1.patch
Patch2: dejagnu-1.4.4-no-info.patch
Patch3: dejagnu-1.4.4-testsuite.patch
%description
DejaGnu is an Expect/Tcl based framework for testing other programs.
@ -23,18 +24,17 @@ output format of all tests (making it easier to integrate the testing
into software development).
%prep
%setup -q -n dejagnu-%{version}
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
%configure -v
make
mv doc/html doc/overview
%check
echo ============TESTING===============
make -k check RUNTESTFLAGS="RUNTEST=`pwd`/runtest" || :
make check RUNTESTFLAGS="RUNTEST=`pwd`/runtest"
echo ============END TESTING===========
%install
@ -44,7 +44,7 @@ chmod a-x $RPM_BUILD_ROOT/%{_datadir}/dejagnu/runtest.exp
pushd doc
make docs
make man1dir=%{buildroot}%{_mandir}/man1 install-man
make DESTDIR=$RPM_BUILD_ROOT install-man
popd
%clean
@ -58,8 +58,12 @@ rm -rf $RPM_BUILD_ROOT
%{_includedir}/dejagnu.h
%{_mandir}/*/*
%changelog
* Wed Oct 3 2007 Petr Machata <pmachata@redhat.com> - 1:1.4.4-9
- Clean up spec per merge review comments.
- Fix testsuite.
- Resolves: #225679
* Thu Aug 16 2007 Petr Machata <pmachata@redhat.com> - 1:1.4.4-8
- Fix licesing tag.