From 654b98bafec4845e5d4af39cda58a2a1aa293d32 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 19 Aug 2014 17:32:55 -0400 Subject: libdimension: Test each module header in isolation. --- libdimension/dimension/concurrency.h | 2 ++ libdimension/dimension/platform.h | 2 ++ libdimension/tests/Makefile.am | 52 ++++++++++++++++++++------------ libdimension/tests/modules/base.c | 29 ++++++++++++++++++ libdimension/tests/modules/canvas.c | 29 ++++++++++++++++++ libdimension/tests/modules/color.c | 29 ++++++++++++++++++ libdimension/tests/modules/concurrency.c | 29 ++++++++++++++++++ libdimension/tests/modules/math.c | 29 ++++++++++++++++++ libdimension/tests/modules/model.c | 29 ++++++++++++++++++ libdimension/tests/modules/pattern.c | 29 ++++++++++++++++++ libdimension/tests/modules/platform.c | 29 ++++++++++++++++++ libdimension/tests/modules/render.c | 29 ++++++++++++++++++ 12 files changed, 297 insertions(+), 20 deletions(-) create mode 100644 libdimension/tests/modules/base.c create mode 100644 libdimension/tests/modules/canvas.c create mode 100644 libdimension/tests/modules/color.c create mode 100644 libdimension/tests/modules/concurrency.c create mode 100644 libdimension/tests/modules/math.c create mode 100644 libdimension/tests/modules/model.c create mode 100644 libdimension/tests/modules/pattern.c create mode 100644 libdimension/tests/modules/platform.c create mode 100644 libdimension/tests/modules/render.c diff --git a/libdimension/dimension/concurrency.h b/libdimension/dimension/concurrency.h index 6c8c29c..d712873 100644 --- a/libdimension/dimension/concurrency.h +++ b/libdimension/dimension/concurrency.h @@ -30,6 +30,8 @@ extern "C" { #endif +#include + #include #ifdef __cplusplus diff --git a/libdimension/dimension/platform.h b/libdimension/dimension/platform.h index 4c01709..d85a252 100644 --- a/libdimension/dimension/platform.h +++ b/libdimension/dimension/platform.h @@ -30,6 +30,8 @@ extern "C" { #endif +#include + #include #ifdef __cplusplus diff --git a/libdimension/tests/Makefile.am b/libdimension/tests/Makefile.am index 9829642..f9ff11f 100644 --- a/libdimension/tests/Makefile.am +++ b/libdimension/tests/Makefile.am @@ -20,24 +20,25 @@ AM_CFLAGS = -I$(top_srcdir)/libdimension AM_CXXFLAGS = $(AM_CFLAGS) -check_LTLIBRARIES = libdimension-tests.la \ - libdimension-unit-test.la -check_PROGRAMS = c89.test \ - c99.test \ - c++03.test \ - c++11.test \ - warning.test \ - warning-as-error.test \ - error.test \ - custom-error-fn.test \ - pool.test \ - dictionary.test \ - polynomial.test \ - prtree.test \ - future.test \ - png.test \ - gl.test \ - render.test +check_LTLIBRARIES = libdimension-tests.la \ + libdimension-unit-test.la +check_PROGRAMS = modules.test \ + c89.test \ + c99.test \ + c++03.test \ + c++11.test \ + warning.test \ + warning-as-error.test \ + error.test \ + custom-error-fn.test \ + pool.test \ + dictionary.test \ + polynomial.test \ + prtree.test \ + future.test \ + png.test \ + gl.test \ + render.test TESTS = $(check_PROGRAMS) XFAIL_TESTS = warning-as-error.test error.test @@ -51,8 +52,8 @@ if !GL XFAIL_TESTS += gl.test endif -libdimension_tests_la_SOURCES = test_canvas.c \ - tests.h +libdimension_tests_la_SOURCES = test_canvas.c \ + tests.h libdimension_tests_la_LIBADD = $(top_builddir)/libdimension/libdimension.la if GLX @@ -66,6 +67,17 @@ libdimension_unit_test_la_SOURCES = unit-test.c libdimension_unit_test_la_CFLAGS = $(CHECK_CFLAGS) $(AM_CFLAGS) libdimension_unit_test_la_LIBADD = $(CHECK_LIBS) $(top_builddir)/libdimension/libdimension.la +modules_test_SOURCES = modules/base.c \ + modules/canvas.c \ + modules/color.c \ + modules/concurrency.c \ + modules/math.c \ + modules/model.c \ + modules/pattern.c \ + modules/platform.c \ + modules/render.c +modules_test_LDADD = libdimension-unit-test.la + c89_test_SOURCES = c89.c c89_test_LDADD = libdimension-tests.la diff --git a/libdimension/tests/modules/base.c b/libdimension/tests/modules/base.c new file mode 100644 index 0000000..665c62f --- /dev/null +++ b/libdimension/tests/modules/base.c @@ -0,0 +1,29 @@ +/************************************************************************* + * Copyright (C) 2014 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 . * + *************************************************************************/ + +/** + * @file + * Test the base module in isolation. + */ + +#include "dimension/base.h" + +#ifndef DMNSN_INLINE +#error "Missing #include " +#endif diff --git a/libdimension/tests/modules/canvas.c b/libdimension/tests/modules/canvas.c new file mode 100644 index 0000000..e9e0471 --- /dev/null +++ b/libdimension/tests/modules/canvas.c @@ -0,0 +1,29 @@ +/************************************************************************* + * Copyright (C) 2014 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 . * + *************************************************************************/ + +/** + * @file + * Test the canvas module in isolation. + */ + +#include "dimension/canvas.h" + +#ifndef DMNSN_INLINE +#error "Missing #include " +#endif diff --git a/libdimension/tests/modules/color.c b/libdimension/tests/modules/color.c new file mode 100644 index 0000000..6c9e63f --- /dev/null +++ b/libdimension/tests/modules/color.c @@ -0,0 +1,29 @@ +/************************************************************************* + * Copyright (C) 2014 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 . * + *************************************************************************/ + +/** + * @file + * Test the color module in isolation. + */ + +#include "dimension/color.h" + +#ifndef DMNSN_INLINE +#error "Missing #include " +#endif diff --git a/libdimension/tests/modules/concurrency.c b/libdimension/tests/modules/concurrency.c new file mode 100644 index 0000000..16bb305 --- /dev/null +++ b/libdimension/tests/modules/concurrency.c @@ -0,0 +1,29 @@ +/************************************************************************* + * Copyright (C) 2014 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 . * + *************************************************************************/ + +/** + * @file + * Test the concurrency module in isolation. + */ + +#include "dimension/concurrency.h" + +#ifndef DMNSN_INLINE +#error "Missing #include " +#endif diff --git a/libdimension/tests/modules/math.c b/libdimension/tests/modules/math.c new file mode 100644 index 0000000..5bf3ac1 --- /dev/null +++ b/libdimension/tests/modules/math.c @@ -0,0 +1,29 @@ +/************************************************************************* + * Copyright (C) 2014 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 . * + *************************************************************************/ + +/** + * @file + * Test the math module in isolation. + */ + +#include "dimension/math.h" + +#ifndef DMNSN_INLINE +#error "Missing #include " +#endif diff --git a/libdimension/tests/modules/model.c b/libdimension/tests/modules/model.c new file mode 100644 index 0000000..9bd5f00 --- /dev/null +++ b/libdimension/tests/modules/model.c @@ -0,0 +1,29 @@ +/************************************************************************* + * Copyright (C) 2014 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 . * + *************************************************************************/ + +/** + * @file + * Test the model module in isolation. + */ + +#include "dimension/model.h" + +#ifndef DMNSN_INLINE +#error "Missing #include " +#endif diff --git a/libdimension/tests/modules/pattern.c b/libdimension/tests/modules/pattern.c new file mode 100644 index 0000000..46bb99e --- /dev/null +++ b/libdimension/tests/modules/pattern.c @@ -0,0 +1,29 @@ +/************************************************************************* + * Copyright (C) 2014 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 . * + *************************************************************************/ + +/** + * @file + * Test the pattern module in isolation. + */ + +#include "dimension/pattern.h" + +#ifndef DMNSN_INLINE +#error "Missing #include " +#endif diff --git a/libdimension/tests/modules/platform.c b/libdimension/tests/modules/platform.c new file mode 100644 index 0000000..b0fc978 --- /dev/null +++ b/libdimension/tests/modules/platform.c @@ -0,0 +1,29 @@ +/************************************************************************* + * Copyright (C) 2014 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 . * + *************************************************************************/ + +/** + * @file + * Test the platform module in isolation. + */ + +#include "dimension/platform.h" + +#ifndef DMNSN_INLINE +#error "Missing #include " +#endif diff --git a/libdimension/tests/modules/render.c b/libdimension/tests/modules/render.c new file mode 100644 index 0000000..a508c9f --- /dev/null +++ b/libdimension/tests/modules/render.c @@ -0,0 +1,29 @@ +/************************************************************************* + * Copyright (C) 2014 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 . * + *************************************************************************/ + +/** + * @file + * Test the render module in isolation. + */ + +#include "dimension/render.h" + +#ifndef DMNSN_INLINE +#error "Missing #include " +#endif -- cgit v1.2.3