aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/selftest-run-tests.c3
-rw-r--r--gcc/selftest.c28
-rw-r--r--gcc/selftest.h1
4 files changed, 39 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6007f8b..b861721 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2016-08-11 David Malcolm <dmalcolm@redhat.com>
+
+ * selftest-run-tests.c (selftest::run_tests): Call selftest_c_tests.
+ * selftest.c (selftest::test_assertions): New function.
+ (selftest::selftest_c_tests): New function.
+ * selftest.h (selftest::selftest_c_tests): New declaration.
+
2016-08-11 Richard Biener <rguenther@suse.de>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
diff --git a/gcc/selftest-run-tests.c b/gcc/selftest-run-tests.c
index 9d75a8e..6453e31 100644
--- a/gcc/selftest-run-tests.c
+++ b/gcc/selftest-run-tests.c
@@ -42,6 +42,9 @@ selftest::run_tests ()
/* Run all the tests, in hand-coded order of (approximate) dependencies:
run the tests for lowest-level code first. */
+ /* Sanity-check for selftests themselves. */
+ selftest_c_tests ();
+
/* Low-level data structures. */
bitmap_c_tests ();
et_forest_c_tests ();
diff --git a/gcc/selftest.c b/gcc/selftest.c
index 76a4c41..2951c3c 100644
--- a/gcc/selftest.c
+++ b/gcc/selftest.c
@@ -88,4 +88,32 @@ selftest::assert_streq (const location &loc,
}
+/* Selftests for the selftest system itself. */
+
+namespace selftest {
+
+/* Sanity-check the ASSERT_ macros with various passing cases. */
+
+static void
+test_assertions ()
+{
+ ASSERT_TRUE (true);
+ ASSERT_FALSE (false);
+ ASSERT_EQ (1, 1);
+ ASSERT_EQ_AT (SELFTEST_LOCATION, 1, 1);
+ ASSERT_NE (1, 2);
+ ASSERT_STREQ ("test", "test");
+ ASSERT_STREQ_AT (SELFTEST_LOCATION, "test", "test");
+}
+
+/* Run all of the selftests within this file. */
+
+void
+selftest_c_tests ()
+{
+ test_assertions ();
+}
+
+} // namespace selftest
+
#endif /* #if CHECKING_P */
diff --git a/gcc/selftest.h b/gcc/selftest.h
index 397e998..55601ef 100644
--- a/gcc/selftest.h
+++ b/gcc/selftest.h
@@ -85,6 +85,7 @@ extern void hash_set_tests_c_tests ();
extern void input_c_tests ();
extern void pretty_print_c_tests ();
extern void rtl_tests_c_tests ();
+extern void selftest_c_tests ();
extern void spellcheck_c_tests ();
extern void spellcheck_tree_c_tests ();
extern void sreal_c_tests ();