From 2404976a5d1210b4547a76678aada49d0ae74e44 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 4 Oct 2009 19:05:07 +0000 Subject: New test framework. --- tests/libdimension/Makefile.am | 31 ++++++++++++++++++++++++ tests/libdimension/error.c | 32 +++++++++++++++++++++++++ tests/libdimension/warning.c | 53 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 tests/libdimension/Makefile.am create mode 100644 tests/libdimension/error.c create mode 100644 tests/libdimension/warning.c (limited to 'tests/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 ## +## ## +## 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 . ## +########################################################################### + +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 * + * * + * 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 . * + *************************************************************************/ + +/* Make sure that errors terminate us - this test should fail */ + +#include +#include + +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 * + * * + * 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 . * + *************************************************************************/ + +/* Make sure warnings don't kill us - this test should pass */ + +#include +#include + +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; +} -- cgit v1.2.3