summaryrefslogtreecommitdiffstats
path: root/libdimension/tests/build
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2014-08-19 17:49:02 -0400
committerTavian Barnes <tavianator@tavianator.com>2015-10-25 11:03:56 -0400
commitda47b2858f6e64ec60dce218544647df32b49077 (patch)
tree6c40604dbf113e6b8e0a86bab9aebbe510118045 /libdimension/tests/build
parent654b98bafec4845e5d4af39cda58a2a1aa293d32 (diff)
downloaddimension-da47b2858f6e64ec60dce218544647df32b49077.tar.xz
libdimension: Modularize tests.
Diffstat (limited to 'libdimension/tests/build')
-rw-r--r--libdimension/tests/build/c++03.cpp38
-rw-r--r--libdimension/tests/build/c++11.cpp38
-rw-r--r--libdimension/tests/build/c89.c32
-rw-r--r--libdimension/tests/build/c99.c32
-rw-r--r--libdimension/tests/build/modules/base.c29
-rw-r--r--libdimension/tests/build/modules/canvas.c29
-rw-r--r--libdimension/tests/build/modules/color.c29
-rw-r--r--libdimension/tests/build/modules/concurrency.c29
-rw-r--r--libdimension/tests/build/modules/math.c29
-rw-r--r--libdimension/tests/build/modules/model.c29
-rw-r--r--libdimension/tests/build/modules/pattern.c29
-rw-r--r--libdimension/tests/build/modules/platform.c29
-rw-r--r--libdimension/tests/build/modules/render.c29
13 files changed, 401 insertions, 0 deletions
diff --git a/libdimension/tests/build/c++03.cpp b/libdimension/tests/build/c++03.cpp
new file mode 100644
index 0000000..679fa23
--- /dev/null
+++ b/libdimension/tests/build/c++03.cpp
@@ -0,0 +1,38 @@
+/*************************************************************************
+ * Copyright (C) 2010-2011 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Ensure that dimension.h can be included in a C++ program and behave properly.
+ */
+
+#include "tests.h"
+#include <cstdlib>
+
+int
+main(void)
+{
+ // Treat warnings as errors for tests
+ dmnsn_die_on_warnings(true);
+
+ // Make sure we can to bit-ops on this enum type
+ dmnsn_quality quality = DMNSN_RENDER_PIGMENT | DMNSN_RENDER_LIGHTS;
+
+ return EXIT_SUCCESS;
+}
diff --git a/libdimension/tests/build/c++11.cpp b/libdimension/tests/build/c++11.cpp
new file mode 100644
index 0000000..679fa23
--- /dev/null
+++ b/libdimension/tests/build/c++11.cpp
@@ -0,0 +1,38 @@
+/*************************************************************************
+ * Copyright (C) 2010-2011 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Ensure that dimension.h can be included in a C++ program and behave properly.
+ */
+
+#include "tests.h"
+#include <cstdlib>
+
+int
+main(void)
+{
+ // Treat warnings as errors for tests
+ dmnsn_die_on_warnings(true);
+
+ // Make sure we can to bit-ops on this enum type
+ dmnsn_quality quality = DMNSN_RENDER_PIGMENT | DMNSN_RENDER_LIGHTS;
+
+ return EXIT_SUCCESS;
+}
diff --git a/libdimension/tests/build/c89.c b/libdimension/tests/build/c89.c
new file mode 100644
index 0000000..9393184
--- /dev/null
+++ b/libdimension/tests/build/c89.c
@@ -0,0 +1,32 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Check C89 compliance of headers.
+ */
+
+#include "dimension.h"
+#include <stddef.h>
+
+int
+main(void)
+{
+ return EXIT_SUCCESS;
+}
diff --git a/libdimension/tests/build/c99.c b/libdimension/tests/build/c99.c
new file mode 100644
index 0000000..e1a04ef
--- /dev/null
+++ b/libdimension/tests/build/c99.c
@@ -0,0 +1,32 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Check strict C99 compliance of headers.
+ */
+
+#include "dimension.h"
+#include <stddef.h>
+
+int
+main(void)
+{
+ return EXIT_SUCCESS;
+}
diff --git a/libdimension/tests/build/modules/base.c b/libdimension/tests/build/modules/base.c
new file mode 100644
index 0000000..665c62f
--- /dev/null
+++ b/libdimension/tests/build/modules/base.c
@@ -0,0 +1,29 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Test the base module in isolation.
+ */
+
+#include "dimension/base.h"
+
+#ifndef DMNSN_INLINE
+#error "Missing #include <dimension/base.h>"
+#endif
diff --git a/libdimension/tests/build/modules/canvas.c b/libdimension/tests/build/modules/canvas.c
new file mode 100644
index 0000000..e9e0471
--- /dev/null
+++ b/libdimension/tests/build/modules/canvas.c
@@ -0,0 +1,29 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Test the canvas module in isolation.
+ */
+
+#include "dimension/canvas.h"
+
+#ifndef DMNSN_INLINE
+#error "Missing #include <dimension/base.h>"
+#endif
diff --git a/libdimension/tests/build/modules/color.c b/libdimension/tests/build/modules/color.c
new file mode 100644
index 0000000..6c9e63f
--- /dev/null
+++ b/libdimension/tests/build/modules/color.c
@@ -0,0 +1,29 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Test the color module in isolation.
+ */
+
+#include "dimension/color.h"
+
+#ifndef DMNSN_INLINE
+#error "Missing #include <dimension/base.h>"
+#endif
diff --git a/libdimension/tests/build/modules/concurrency.c b/libdimension/tests/build/modules/concurrency.c
new file mode 100644
index 0000000..16bb305
--- /dev/null
+++ b/libdimension/tests/build/modules/concurrency.c
@@ -0,0 +1,29 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Test the concurrency module in isolation.
+ */
+
+#include "dimension/concurrency.h"
+
+#ifndef DMNSN_INLINE
+#error "Missing #include <dimension/base.h>"
+#endif
diff --git a/libdimension/tests/build/modules/math.c b/libdimension/tests/build/modules/math.c
new file mode 100644
index 0000000..5bf3ac1
--- /dev/null
+++ b/libdimension/tests/build/modules/math.c
@@ -0,0 +1,29 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Test the math module in isolation.
+ */
+
+#include "dimension/math.h"
+
+#ifndef DMNSN_INLINE
+#error "Missing #include <dimension/base.h>"
+#endif
diff --git a/libdimension/tests/build/modules/model.c b/libdimension/tests/build/modules/model.c
new file mode 100644
index 0000000..9bd5f00
--- /dev/null
+++ b/libdimension/tests/build/modules/model.c
@@ -0,0 +1,29 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Test the model module in isolation.
+ */
+
+#include "dimension/model.h"
+
+#ifndef DMNSN_INLINE
+#error "Missing #include <dimension/base.h>"
+#endif
diff --git a/libdimension/tests/build/modules/pattern.c b/libdimension/tests/build/modules/pattern.c
new file mode 100644
index 0000000..46bb99e
--- /dev/null
+++ b/libdimension/tests/build/modules/pattern.c
@@ -0,0 +1,29 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Test the pattern module in isolation.
+ */
+
+#include "dimension/pattern.h"
+
+#ifndef DMNSN_INLINE
+#error "Missing #include <dimension/base.h>"
+#endif
diff --git a/libdimension/tests/build/modules/platform.c b/libdimension/tests/build/modules/platform.c
new file mode 100644
index 0000000..b0fc978
--- /dev/null
+++ b/libdimension/tests/build/modules/platform.c
@@ -0,0 +1,29 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Test the platform module in isolation.
+ */
+
+#include "dimension/platform.h"
+
+#ifndef DMNSN_INLINE
+#error "Missing #include <dimension/base.h>"
+#endif
diff --git a/libdimension/tests/build/modules/render.c b/libdimension/tests/build/modules/render.c
new file mode 100644
index 0000000..a508c9f
--- /dev/null
+++ b/libdimension/tests/build/modules/render.c
@@ -0,0 +1,29 @@
+/*************************************************************************
+ * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.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/>. *
+ *************************************************************************/
+
+/**
+ * @file
+ * Test the render module in isolation.
+ */
+
+#include "dimension/render.h"
+
+#ifndef DMNSN_INLINE
+#error "Missing #include <dimension/base.h>"
+#endif