diff options
author | Tavian Barnes <tavianator@gmail.com> | 2009-10-04 19:05:07 +0000 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2009-10-04 19:05:07 +0000 |
commit | 2404976a5d1210b4547a76678aada49d0ae74e44 (patch) | |
tree | 48101872e19619290a105aba04bc71806a3ab6d7 | |
parent | c35d5af1c2845ad072525e69f3f7be01994bcc2f (diff) | |
download | dimension-2404976a5d1210b4547a76678aada49d0ae74e44.tar.xz |
New test framework.
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | tests/Makefile.am | 20 | ||||
-rw-r--r-- | tests/libdimension/Makefile.am | 31 | ||||
-rw-r--r-- | tests/libdimension/error.c | 32 | ||||
-rw-r--r-- | tests/libdimension/warning.c | 53 |
7 files changed, 142 insertions, 3 deletions
@@ -38,7 +38,7 @@ Makefile.in /doc/texinfo.tex # Files created by `make check' -/tests/*-test +/tests/*/*-test /tests/*.png # Files and folders created by libtool diff --git a/Makefile.am b/Makefile.am index 5e1e60f..574df64 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,6 +19,7 @@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = doc \ - libdimension + libdimension \ + tests EXTRA_DIST = autogen.sh diff --git a/configure.ac b/configure.ac index 4a7c2c7..503262a 100644 --- a/configure.ac +++ b/configure.ac @@ -32,5 +32,7 @@ dnl Generate Makefiles AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_FILES([Makefile doc/Makefile - libdimension/Makefile]) + libdimension/Makefile + tests/Makefile + tests/libdimension/Makefile]) AC_OUTPUT 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; +} |