bug-dejagnu
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-dejagnu] dejagnu-1.4.4 make check fails on Solaris10


From: Steve Williams
Subject: [Bug-dejagnu] dejagnu-1.4.4 make check fails on Solaris10
Date: Wed, 26 Oct 2005 13:14:15 -0700

Hi,

I am having a problem getting the dejagnu-1.4.4 tests to complete
successfully.

The test testsuite/libdejagnu/tunit.exp always fails.

I examined the tool that is being run during the test, the unit executable,
and I discovered the problem was that the cout.rdbuf()->pubsetbuf(bbuuff,
5120) call on line 54 of unit.cc was not doing anything.

The method in setbuf in <streambuf> is virtual and does not seem to be
overridden by the object cout. The virtual function in <streambuf> just
returns this.

I reimplemented the print statements using printf and manipulated the output
buffer using setvbuf and the test worked. There is a patch at the end of
this email for dejagnu.h and unit.cc.

Is this a bug in dejagnu, or a bug in gcc ? has anyone else had this
problem?

Regards
Steve Williams

HOST
=====
R500.ramses.204> ./config.guess
sparc-sun-solaris2.10


Output from configure, make and make check:
============================================

Executing(%build): /bin/sh -e /var/tmp/pkg-tmp.J4mzU
+ umask 022 
+ cd /export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10 
+ cd dejagnu-1.4.4 
+ ./configure --prefix=/opt/utsi/test/R500/opt/utsi CFLAGS=-O2 -m64
-mtune=ultrasparc -g 
checking for a BSD-compatible install...
/opt/utsi/test/R500/opt/utsi/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make sets $(MAKE)... (cached) yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for a BSD-compatible install...
/opt/utsi/test/R500/opt/utsi/bin/install -c
checking for bison... no
checking for byacc... no
checking for docbook tools... none
checking for the tclsh program... none
checking for tclsh... /opt/utsi/test/R500/opt/utsi/bin/tclsh
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating testsuite/Makefile
config.status: creating example/Makefile
config.status: creating testsuite/libdejagnu/Makefile
config.status: executing depfiles commands
configure: configuring in example/calc
configure: running /bin/bash './configure'
--prefix=/opt/utsi/test/R500/opt/utsi
'--prefix=/opt/utsi/test/R500/opt/utsi' 'CFLAGS=-O2 -m64 -mtune=ultrasparc
-g' --cache-file=/dev/null --srcdir=.
checking for a BSD-compatible install...
/opt/utsi/test/R500/opt/utsi/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets ${MAKE}... yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for a BSD-compatible install...
/opt/utsi/test/R500/opt/utsi/bin/install -c
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for strcmp... yes
checking whether to enable maintainer-specific portions of Makefiles... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating calc.h
config.status: executing depfiles commands
configure: configuring in example/hello
configure: running /bin/bash './configure'
--prefix=/opt/utsi/test/R500/opt/utsi
'--prefix=/opt/utsi/test/R500/opt/utsi' 'CFLAGS=-O2 -m64 -mtune=ultrasparc
-g' --cache-file=/dev/null --srcdir=.
checking for a BSD compatible install...
/opt/utsi/test/R500/opt/utsi/bin/install -c
checking whether build environment is sane... yes
checking for mawk... no
checking for gawk... no
checking for nawk... nawk
checking whether make sets ${MAKE}... yes
checking for gcc... gcc
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
configure: creating ./config.status
config.status: creating Makefile
config.status: creating testsuite/Makefile
+ [ x = x ] 
+ /usr/sbin/psrinfo -p 
RPM_BUILD_NCPUS=4
+ bc 
+ echo 4+4/2 
RPM_BUILD_NCPUS=6
+ [ 6 -gt 1 ] 
+ echo -j6 
+ make -j6 
Making all in doc
make[1]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/doc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/doc'
make[1]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
'
+ exit 0 
Executing(%install): /bin/sh -e /var/tmp/pkg-tmp.bSbv5
+ umask 022 
+ cd /export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10 
+ cd dejagnu-1.4.4 
+ rm -rf /var/tmp/buildroot/R500/dejagnu-buildroot 
+ make DESTDIR=/var/tmp/buildroot/R500/dejagnu-buildroot install 
Making install in doc
make[1]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/doc'
make[2]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/doc'
make[2]: Nothing to be done for `install-exec-am'.
/bin/bash ../mkinstalldirs
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/man/ma
n1
mkdir /var/tmp/buildroot/R500/dejagnu-buildroot
mkdir /var/tmp/buildroot/R500/dejagnu-buildroot/opt
mkdir /var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi
mkdir /var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test
mkdir /var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500
mkdir /var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt
mkdir /var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi
mkdir
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/man
mkdir
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/man/ma
n1
 /opt/utsi/test/R500/opt/utsi/bin/install -c -m 644 ./runtest.1
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/man/ma
n1/runtest.1
make[2]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/doc'
make[1]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/doc'
make[1]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
'
make[2]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
'
/bin/bash ./mkinstalldirs
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/bin
mkdir
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/bin
 /opt/utsi/test/R500/opt/utsi/bin/install -c runtest
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/bin/ru
ntest
/bin/bash ./mkinstalldirs
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu/libexec
mkdir
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share
mkdir
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu
mkdir
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu/libexec
 /opt/utsi/test/R500/opt/utsi/bin/install -c config.guess
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu/libexec/config.guess
/bin/bash ./mkinstalldirs
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/includ
e
mkdir
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/includ
e
for f in ./*.c ./lib/*.exp; do \
  test ! -f "$f" || /opt/utsi/test/R500/opt/utsi/bin/install -c -m 644 $f
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu; \
done
/bin/bash ./mkinstalldirs
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu/baseboards
mkdir
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu/baseboards
for f in ./baseboards/README ./baseboards/*.exp; do \
  test ! -f "$f" || /opt/utsi/test/R500/opt/utsi/bin/install -c -m 644 $f
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu/baseboards; \
done
/opt/utsi/test/R500/opt/utsi/bin/install -c -m 644 ./dejagnu.h
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/includ
e; \
/bin/bash ./mkinstalldirs
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu/config
mkdir
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu/config
for f in ./config/README ./config/*.exp; do \
  test ! -f "$f" || /opt/utsi/test/R500/opt/utsi/bin/install -c -m 644 $f
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu/config; \
done
/bin/bash ./mkinstalldirs
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu
 /opt/utsi/test/R500/opt/utsi/bin/install -c runtest.exp
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/share/
dejagnu/runtest.exp
make[2]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
'
make[1]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
'
+ install -c /usr/sfw/bin/gsize
/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/bin/si
ze 
+ exit 0 
Executing(%check): /bin/sh -e /var/tmp/pkg-tmp.vHGpS
+ umask 022 
+ cd /export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10 
+ cd dejagnu-1.4.4 
PATH=/var/tmp/buildroot/R500/dejagnu-buildroot/opt/utsi/test/R500/opt/utsi/b
in:/opt/utsi/test/R500/opt/utsi/bin:/telos/src_dev/bin:/usr/local/bin:/usr/b
in:/usr/ccs/bin:/usr/sbin:/usr/atria/bin
+ export PATH 
+ make check 
Making check in doc
make[1]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/doc'
make[1]: Nothing to be done for `check'.
make[1]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/doc'
make[1]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
'
make  check-DEJAGNU
make[2]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
'
cd testsuite ; make check
make[3]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/testsuite'
Making check in libdejagnu
make[4]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/testsuite/libdejagnu'
if g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"dejagnu\"
-DVERSION=\"1.4.4\"  -I. -I.    -I../.. -g -g -O2 -MT unit.o -MD -MP -MF
".deps/unit.Tpo" \
  -c -o unit.o `test -f 'unit.cc' || echo './'`unit.cc; \
then mv -f ".deps/unit.Tpo" ".deps/unit.Po"; \
else rm -f ".deps/unit.Tpo"; exit 1; \
fi
g++ -I../.. -g -g -O2   -o unit  unit.o  
make[4]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/testsuite/libdejagnu'
make[4]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/testsuite'
Nothing to be done for all
make  check-DEJAGNU
make[5]: Entering directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/testsuite'
Making a new site.exp file...
srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd . && pwd`; export srcdir; \
EXPECT=expect; export EXPECT; \
runtest=` if [ -f ../runtest ] ; then echo ../runtest; else echo "ERROR:
runtest not found" ; exit 1; fi`; \
if /bin/bash -c "$runtest --version" > /dev/null 2>&1; then \
  l='dejagnu'; for tool in $l; do \
    $runtest  --srcdir $srcdir ; \
  done; \
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
fi
WARNING: Couldn't find the global config file.
WARNING: No tool specified
Test Run By src_dev on Wed Oct 26 12:55:26 2005
Native configuration is sparc-sun-solaris2.10

                ===  tests ===

Schedule of variations:
    unix

Running target unix
Using
/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4/
testsuite/../config/base-config.exp as tool-and-target-specific interface
file.
Using
/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4/
testsuite/config/default.exp as tool-and-target-specific interface file.
Running
/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4/
testsuite/libdejagnu/tunit.exp ...
FAIL: Pass message
Running
/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4/
testsuite/runtest.all/libs.exp ...
Running
/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4/
testsuite/runtest.all/options.exp ...
Running
/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4/
testsuite/runtest.all/stats-sub.exp ...
Running
/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4/
testsuite/runtest.all/stats.exp ...

                ===  Summary ===

# of expected passes            59
# of unexpected failures        1
make[5]: *** [check-DEJAGNU] Error 1
make[5]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/testsuite'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/testsuite'
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
/testsuite'
make[2]: *** [check-DEJAGNU] Error 2
make[2]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory
`/export/home/src_dev/R500/vobs/unxloc/sparc64-sun-solaris2.10/dejagnu-1.4.4
'
make: *** [check-recursive] Error 1
error: Bad exit status from /var/tmp/pkg-tmp.vHGpS (%check)

PATCH
=====
diff -ru5 dejagnu-1.4.4/dejagnu.h dejagnu-1.4.4.patch/dejagnu.h
--- dejagnu-1.4.4/dejagnu.h     2003-08-16 18:28:17.000000000 -0700
+++ dejagnu-1.4.4.patch/dejagnu.h       2005-10-26 12:29:16.945762000 -0700
@@ -222,57 +222,82 @@
 
     void pass (std::string s) {
         passed++;
         laststate = PASSED;
         lastmsg = s;
+#ifndef USE_STDIO
         std::cout << "\t" << outstate[PASSED] << s << std::endl;
+#else
+       printf("\t%s%s\n", outstate[PASSED], s.c_str());
+#endif
     }
     void pass (const char *c) {
         std::string s = c;
         pass (s);
     }
 
     void fail (std::string s) {
         failed++;
         laststate = FAILED;
         lastmsg = s;
+#ifndef USE_STDIO
         std::cout << "\t" << outstate[FAILED] << s << std::endl;
+#else
+       printf("\t%s%s\n", outstate[FAILED], s.c_str());
+#endif
     }
     void fail (const char *c) {
         std::string s = c;
         fail (s);
     }
 
     void untested (std::string s) {
         untest++;
         laststate = UNTESTED;
         lastmsg = s;
+#ifndef USE_STDIO
         std::cout << "\t" << outstate[UNTESTED] << s << std::endl;
+#else
+       printf("\t%s%s\n", outstate[UNTESTED], s.c_str());
+#endif
     }
     void untested (const char *c) {
         std::string s = c;
         untested (s);
     }
 
     void unresolved (std::string s) {
         unresolve++;
         laststate = UNRESOLVED;
         lastmsg = s;
+#ifndef USE_STDIO
         std::cout << "\t" << outstate[UNRESOLVED] << s << std::endl;
+#else
+       printf("\t%s%s\n", outstate[UNRESOLVED], s.c_str());
+#endif
     }
     void unresolved (const char *c) {
         std::string s = c;
         unresolved (s);
     }
 
     void totals (void) {
+#ifndef USE_STDIO
         std::cout << "\t#passed:\t\t" << passed << std::endl;
         std::cout << "\t#failed:\t\t" << failed << std::endl;
         if (untest)
             std::cout << "\t#untested:\t\t" << untest << std::endl;
         if (unresolve)
             std::cout << "\t#unresolved:\t\t" << unresolve << std::endl;
+#else
+       printf("\t#passed:\t\t%d\n", passed);
+       printf("\t#failed:\t\t%d\n", failed);
+        if (untest)
+           printf("\t#untested:\t\t%d\n", untest);
+        if (unresolve)
+           printf("\t#unresolved:\t\t%d\n", unresolve);
+#endif
     }
 
     // This is so this class can be printed in an ostream.
     friend std::ostream & operator << (std::ostream &os, TestState& t) {
         return os << "\t" << outstate[t.laststate] << t.lastmsg ;
diff -ru5 dejagnu-1.4.4/testsuite/libdejagnu/unit.cc
dejagnu-1.4.4.patch/testsuite/libdejagnu/unit.cc
--- dejagnu-1.4.4/testsuite/libdejagnu/unit.cc  2003-08-16
18:33:06.000000000 -0700
+++ dejagnu-1.4.4.patch/testsuite/libdejagnu/unit.cc    2005-10-26
12:28:29.632629000 -0700
@@ -6,10 +6,12 @@
 #include <string>
 #include <fstream>
 #include <set>
 #include <dejagnu.h>
 
+#define USE_STDIO 1
+
 using namespace std;
 
 TestState runtest;
 TestState test;
 
@@ -43,30 +45,40 @@
 main (int argc, char *argv[]) {
     regex_t regex_pat;
 
 //    char **os2 = outstate;
     outstate = os1;
+    int i;
 
     // 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];
+    char bbuuffrr[5120];
+    char *bbuuff = bbuuffrr;
+#ifndef USE_STDIO
 #ifdef __STDC_HOSTED__
     cout.rdbuf()->pubsetbuf(bbuuff, 5120);
 #else
     cout.rdbuf()->setbuf(bbuuff, 5120);
 #endif
+#else
+    setvbuf(stdout, bbuuff, _IOLBF, 5120);
+#endif
 
     testClass1.tname = "testType1";
     testClass1.tnum = 1;
     testClass2.tname = "testType2";
     testClass2.tnum = 2;
     testClass3.tname = "testType3";
     testClass3.tnum = 3;
 
     // Test the pass message
     test.pass ("bogus pass message for testing");
+    // Adjust the comparison point in the output buffer
+    // to allow for any offset introduced by the output stream
+    for(i=0; strncmp(&bbuuffrr[i], "\tPAS:", 5) != 0 && i < 5120-5; i++);
+    if (i < 5120-5) bbuuff = &bbuuffrr[i];
     outstate = os2;
     if (strncmp(bbuuff, "\tPAS: bogus pass message", 22) == 0) {
        runtest.pass ("Pass message");
     } else {
        runtest.fail ("Pass message");

Attachment: dejagnu144-test.patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]