aboutsummaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorBen Elliston <bje@gnu.org>2004-02-08 14:02:07 +0000
committerBen Elliston <bje@gnu.org>2004-02-08 14:02:07 +0000
commit30c35cf4696b0345c348e85acfb59c4ce6ef7f16 (patch)
treed0faabdd68d49929e59921150502859f5533feaa /testsuite
parentccc2f172e9c5d00186a162e7acfb174625313fe0 (diff)
downloaddejagnu-30c35cf4696b0345c348e85acfb59c4ce6ef7f16.zip
dejagnu-30c35cf4696b0345c348e85acfb59c4ce6ef7f16.tar.gz
dejagnu-30c35cf4696b0345c348e85acfb59c4ce6ef7f16.tar.bz2
* TODO: Update.
* testsuite/libdejagnu/unit.cc: Conform with GNU coding standard.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/libdejagnu/unit.cc179
1 files changed, 96 insertions, 83 deletions
diff --git a/testsuite/libdejagnu/unit.cc b/testsuite/libdejagnu/unit.cc
index 712ea67..135888b 100644
--- a/testsuite/libdejagnu/unit.cc
+++ b/testsuite/libdejagnu/unit.cc
@@ -1,4 +1,22 @@
// unit.cc -- This is a test case for the Dejagnu.h classes.
+// Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+// Please email any bugs, comments, and/or additions to this file to:
+// bug-dejagnu@gnu.org
#include <sys/types.h>
#include <iostream>
@@ -13,105 +31,100 @@ using namespace std;
TestState runtest;
TestState test;
-class TestClass1 {
+class TestClass1
+{
public:
- string tname;
- unsigned int tnum;
+ string tname;
+ unsigned int tnum;
};
TestClass1 testClass1, testClass2, testClass3;
TestClass1 *testClassPtr;
-// We have to so this silly crap with renaming the output string, so the generic
-// Tcl code that looks for the output state gets confused, and records random
-// duplicate messages.
+// We have to do this silly crap with renaming the output string, so
+// the generic Tcl code that looks for the output state gets confused,
+// and records random duplicate messages.
const char *os1[] = {
- "FAI: ",
- "PAS: ",
- "UNT: ",
- "UNR: "
+ "FAI: ", "PAS: ", "UNT: ", "UNR: "
};
const char *os2[] = {
- "FAILED: ",
- "PASSED: ",
- "UNTESTED: ",
- "UNRESOLVED: "
+ "FAILED: ", "PASSED: ", "UNTESTED: ", "UNRESOLVED: "
};
int
-main (int argc, char *argv[]) {
- regex_t regex_pat;
-
-// char **os2 = outstate;
- outstate = os1;
-
- // 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];
+main (int argc, char *argv[])
+{
+ regex_t regex_pat;
+ outstate = os1;
+
+ // 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 buf[5120];
#ifdef __STDC_HOSTED__
- cout.rdbuf()->pubsetbuf(bbuuff, 5120);
+ cout.rdbuf ()->pubsetbuf (buf, 5120);
#else
- cout.rdbuf()->setbuf(bbuuff, 5120);
+ cout.rdbuf ()->setbuf (buf, 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");
- outstate = os2;
- if (strncmp(bbuuff, "\tPAS: bogus pass message", 22) == 0) {
- runtest.pass ("Pass message");
- } else {
- runtest.fail ("Pass message");
- }
-
- // 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) {
- runtest.pass ("Fail message");
- } else {
- runtest.fail ("Fail message");
- }
-
- // 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) {
- runtest.pass ("Untested message");
- } else {
- runtest.fail ("Untested message");
- }
-
- // 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) {
- runtest.pass ("Unresolved message");
- } else {
- runtest.fail ("Unresolved message");
- }
-
- // 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)) {
- runtest.pass ("Totals message");
- } else {
- runtest.fail ("Totals message");
- }
+
+ 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");
+ outstate = os2;
+ if (strncmp (buf, "\tPAS: bogus pass message", 22) == 0)
+ runtest.pass ("Pass message");
+ else
+ runtest.fail ("Pass message");
+
+ // Test the fail message.
+ outstate = os1;
+ test.fail ("bogus fail message for testing");
+ cout.flush ();
+ outstate = os2;
+ if (strncmp (buf, "\tFAI: bogus fail message", 22) == 0)
+ runtest.pass ("Fail message");
+ else
+ runtest.fail ("Fail message");
+
+ // Test the untested message.
+ outstate = os1;
+ test.untested ("bogus untested message for testing");
+ cout.flush ();
+ outstate = os2;
+ if (strncmp (buf, "\tUNT: bogus untested message", 21) == 0) {
+ runtest.pass ("Untested message");
+ } else {
+ runtest.fail ("Untested message");
+ }
+
+ // Test the unresolved message.
+ outstate = os1;
+ test.unresolved ("bogus unresolved message for testing");
+ cout.flush ();
+ outstate = os2;
+ if (strncmp (buf, "\tUNR: bogus unresolved message", 21) == 0)
+ runtest.pass ("Unresolved message");
+ else
+ runtest.fail ("Unresolved message");
+
+ // 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, buf, 0, (regmatch_t *) 0, 0))
+ runtest.pass ("Totals message");
+ else
+ runtest.fail ("Totals message");
+
+ return 0;
}