summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2009-10-04 19:05:07 +0000
committerTavian Barnes <tavianator@gmail.com>2009-10-04 19:05:07 +0000
commit2404976a5d1210b4547a76678aada49d0ae74e44 (patch)
tree48101872e19619290a105aba04bc71806a3ab6d7 /tests
parentc35d5af1c2845ad072525e69f3f7be01994bcc2f (diff)
downloaddimension-2404976a5d1210b4547a76678aada49d0ae74e44.tar.xz
New test framework.
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am20
-rw-r--r--tests/libdimension/Makefile.am31
-rw-r--r--tests/libdimension/error.c32
-rw-r--r--tests/libdimension/warning.c53
4 files changed, 136 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 0000000..12b7a41
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,20 @@
+###########################################################################
+## Copyright (C) 2009 Tavian Barnes <tavianator@gmail.com> ##
+## ##
+## This file is part of The Dimension Build Suite. ##
+## ##
+## The Dimension Build Suite 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. ##
+## ##
+## The Dimension Build Suite 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, see <http://www.gnu.org/licenses/>. ##
+###########################################################################
+
+SUBDIRS = libdimension
diff --git a/tests/libdimension/Makefile.am b/tests/libdimension/Makefile.am
new file mode 100644
index 0000000..3a0e15c
--- /dev/null
+++ b/tests/libdimension/Makefile.am
@@ -0,0 +1,31 @@
+###########################################################################
+## Copyright (C) 2009 Tavian Barnes <tavianator@gmail.com> ##
+## ##
+## This file is part of The Dimension Build Suite. ##
+## ##
+## The Dimension Build Suite 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. ##
+## ##
+## The Dimension Build Suite 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, see <http://www.gnu.org/licenses/>. ##
+###########################################################################
+
+check_PROGRAMS = error-test \
+ warning-test
+TESTS = $(check_PROGRAMS)
+XFAIL_TESTS = error-test
+
+INCLUDES = -I$(top_srcdir)/libdimension
+
+error_test_SOURCES = error.c
+error_test_LDADD = ../../libdimension/libdimension.la
+
+warning_test_SOURCES = warning.c
+warning_test_LDADD = ../../libdimension/libdimension.la
diff --git a/tests/libdimension/error.c b/tests/libdimension/error.c
new file mode 100644
index 0000000..2bd745d
--- /dev/null
+++ b/tests/libdimension/error.c
@@ -0,0 +1,32 @@
+/*************************************************************************
+ * Copyright (C) 2009 Tavian Barnes <tavianator@gmail.com> *
+ * *
+ * This file is part of The Dimension Test Suite. *
+ * *
+ * The Dimension Test Suite 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. *
+ * *
+ * The Dimension Test Suite 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, see <http://www.gnu.org/licenses/>. *
+ *************************************************************************/
+
+/* Make sure that errors terminate us - this test should fail */
+
+#include <dimension.h>
+#include <stdlib.h>
+
+int
+main()
+{
+ dmnsn_set_resilience(DMNSN_SEVERITY_LOW);
+ dmnsn_error(DMNSN_SEVERITY_LOW, "This error is expected.");
+
+ return EXIT_SUCCESS;
+}
diff --git a/tests/libdimension/warning.c b/tests/libdimension/warning.c
new file mode 100644
index 0000000..ac41e70
--- /dev/null
+++ b/tests/libdimension/warning.c
@@ -0,0 +1,53 @@
+/*************************************************************************
+ * Copyright (C) 2009 Tavian Barnes <tavianator@gmail.com> *
+ * *
+ * This file is part of The Dimension Test Suite. *
+ * *
+ * The Dimension Test Suite 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. *
+ * *
+ * The Dimension Test Suite 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, see <http://www.gnu.org/licenses/>. *
+ *************************************************************************/
+
+/* Make sure warnings don't kill us - this test should pass */
+
+#include <dimension.h>
+#include <stdlib.h>
+
+int
+main()
+{
+ if (dmnsn_get_resilience() != DMNSN_SEVERITY_MEDIUM) {
+ return EXIT_FAILURE;
+ }
+
+ dmnsn_set_resilience(DMNSN_SEVERITY_LOW);
+ if (dmnsn_get_resilience() != DMNSN_SEVERITY_LOW) {
+ return EXIT_FAILURE;
+ }
+
+ dmnsn_set_resilience(DMNSN_SEVERITY_MEDIUM);
+ if (dmnsn_get_resilience() != DMNSN_SEVERITY_MEDIUM) {
+ return EXIT_FAILURE;
+ }
+
+ dmnsn_error(DMNSN_SEVERITY_LOW, "This warning is expected.");
+
+ dmnsn_set_resilience(DMNSN_SEVERITY_HIGH);
+ if (dmnsn_get_resilience() != DMNSN_SEVERITY_HIGH) {
+ return EXIT_FAILURE;
+ }
+
+ dmnsn_error(DMNSN_SEVERITY_LOW, "This warning is expected.");
+ dmnsn_error(DMNSN_SEVERITY_MEDIUM, "This warning is expected.");
+
+ return EXIT_SUCCESS;
+}