From: David Malcolm Date: Thu, 11 Aug 2016 23:36:46 +0000 (+0000) Subject: Add selftests to selftest.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5714dbda995de0b19ed5e6133457bfd90e19972d;p=gcc.git Add selftests to selftest.c gcc/ChangeLog: * 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. From-SVN: r239397 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6007f8bf89f..b8617212972 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2016-08-11 David Malcolm + + * 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 Bill Schmidt diff --git a/gcc/selftest-run-tests.c b/gcc/selftest-run-tests.c index 9d75a8e3c31..6453e314982 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 76a4c414947..2951c3c9bb8 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 397e998048b..55601efc9f1 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 ();