aboutsummaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorJacob Bachmeyer <jcb@gnu.org>2022-11-29 22:27:27 -0600
committerJacob Bachmeyer <jcb@gnu.org>2022-11-29 22:27:27 -0600
commitdfd31745f6ebee0696d67f044085b96e43aa8ee1 (patch)
treeb2bc51659baeae12f650e19bc7dfbf8294c28fc3 /testsuite
parentebcfc9471dffd3d020d0a62eb049d56e0fff7905 (diff)
downloaddejagnu-dfd31745f6ebee0696d67f044085b96e43aa8ee1.zip
dejagnu-dfd31745f6ebee0696d67f044085b96e43aa8ee1.tar.gz
dejagnu-dfd31745f6ebee0696d67f044085b96e43aa8ee1.tar.bz2
Add tests for C++ unit test library
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/libdejagnu/unit-cxx.cxx57
-rw-r--r--testsuite/libdejagnu/unit.exp6
2 files changed, 61 insertions, 2 deletions
diff --git a/testsuite/libdejagnu/unit-cxx.cxx b/testsuite/libdejagnu/unit-cxx.cxx
new file mode 100644
index 0000000..fecf550
--- /dev/null
+++ b/testsuite/libdejagnu/unit-cxx.cxx
@@ -0,0 +1,57 @@
+// Exerciser for Dejagnu C++ unit test support library
+//
+// Copyright (C) 2022 Free Software Foundation, Inc.
+//
+// This file is part of DejaGnu.
+//
+// DejaGnu 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 3 of the License, or
+// (at your option) any later version.
+//
+// DejaGnu 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 DejaGnu; if not, write to the Free Software Foundation,
+// Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// This file was written by Jacob Bachmeyer.
+
+#include <cstring>
+#include <iostream>
+
+#include "dejagnu.h"
+
+TestState DGT;
+
+int
+main(int argc, char ** argv)
+{
+ if (argc < 2) {
+ std::cerr <<"usage: " <<argv[0] <<" <test name>..."<<std::endl
+ <<"see source for details" <<std::endl;
+ return 2;
+ }
+
+ for (int i = 1; i < argc; i++ ) {
+ if (!std::strcmp("pass", argv[i])) DGT.pass("test");
+ else if (!std::strcmp("xpass", argv[i])) DGT.xpass("test");
+ else if (!std::strcmp("fail", argv[i])) DGT.fail("test");
+ else if (!std::strcmp("xfail", argv[i])) DGT.xfail("test");
+ else if (!std::strcmp("untested", argv[i])) DGT.untested("test");
+ else if (!std::strcmp("unresolved", argv[i])) DGT.unresolved("test");
+ else if (!std::strcmp("unsupported", argv[i])) DGT.unsupported("test");
+ else if (!std::strcmp("note", argv[i])) DGT.note("test");
+ else {
+ std::cerr <<argv[0] <<": " <<"unknown test `" <<argv[i] <<"'" <<std::endl;
+ return 2;
+ }
+ }
+
+ return 0;
+}
+
+// EOF
diff --git a/testsuite/libdejagnu/unit.exp b/testsuite/libdejagnu/unit.exp
index 545c7bb..b52a7dc 100644
--- a/testsuite/libdejagnu/unit.exp
+++ b/testsuite/libdejagnu/unit.exp
@@ -125,6 +125,8 @@ proc test_libdejagnu_unit { language tests } {
}
}
-test_libdejagnu_unit c {
- note pass fail xpass xfail untested unresolved unsupported
+foreach language {c cxx} {
+ test_libdejagnu_unit $language {
+ note pass fail xpass xfail untested unresolved unsupported
+ }
}