1 diff -Burp dejagnu-1.4.4/testsuite/libdejagnu/unit.cc dejagnu-1.4.4-pm/testsuite/libdejagnu/unit.cc
2 --- dejagnu-1.4.4/testsuite/libdejagnu/unit.cc 2003-08-17 03:33:06.000000000 +0200
3 +++ dejagnu-1.4.4-pm/testsuite/libdejagnu/unit.cc 2007-10-03 18:31:03.000000000 +0200
12 @@ -49,12 +50,8 @@ main (int argc, char *argv[]) {
13 // Replace the output buffer for cout, so we can examine it to
14 // see what was displayed. Otherwise, there is no way we can test
15 // the logging functions completely.
17 -#ifdef __STDC_HOSTED__
18 - cout.rdbuf()->pubsetbuf(bbuuff, 5120);
20 - cout.rdbuf()->setbuf(bbuuff, 5120);
22 + stringstream stream;
23 + streambuf * buf = cout.rdbuf(stream.rdbuf());
25 testClass1.tname = "testType1";
27 @@ -65,53 +62,59 @@ main (int argc, char *argv[]) {
29 // Test the pass message
30 test.pass ("bogus pass message for testing");
33 - if (strncmp(bbuuff, "\tPAS: bogus pass message", 22) == 0) {
34 + if (strncmp(stream.str().c_str(), "\tPAS: bogus pass message", 22) == 0) {
35 runtest.pass ("Pass message");
37 runtest.fail ("Pass message");
41 // Test the fail message
43 test.fail ("bogus fail message for testing");
46 - if (strncmp(bbuuff, "\tFAI: bogus fail message", 22) == 0) {
47 + if (strncmp(stream.str().c_str(), "\tFAI: bogus fail message", 22) == 0) {
48 runtest.pass ("Fail message");
50 runtest.fail ("Fail message");
54 // Test the untested message
56 test.untested ("bogus untested message for testing");
59 - if (strncmp(bbuuff, "\tUNT: bogus untested message", 21) == 0) {
60 + if (strncmp(stream.str().c_str(), "\tUNT: bogus untested message", 21) == 0) {
61 runtest.pass ("Untested message");
63 runtest.fail ("Untested message");
67 // Test the unresolved message
69 test.unresolved ("bogus unresolved message for testing");
72 - if (strncmp(bbuuff, "\tUNR: bogus unresolved message", 21) == 0) {
73 + if (strncmp(stream.str().c_str(), "\tUNR: bogus unresolved message", 21) == 0) {
74 runtest.pass ("Unresolved message");
76 runtest.fail ("Unresolved message");
80 // Make sure we got everything in the totals
81 regcomp (®ex_pat, "\r\n\t#passed.*#failed.*#untested.*#unresolved", REG_NOSUB|REG_NEWLINE);
82 - if (regexec (®ex_pat, bbuuff, 0, (regmatch_t *)0, 0)) {
83 + if (regexec (®ex_pat, stream.str().c_str(), 0, (regmatch_t *)0, 0)) {
84 runtest.pass ("Totals message");
86 runtest.fail ("Totals message");