This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 00/15] Unittests framework v4: -fself-test
- From: David Malcolm <dmalcolm at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Bernd Schmidt <bschmidt at redhat dot com>, Jeff Law <law at redhat dot com>, David Malcolm <dmalcolm at redhat dot com>
- Date: Thu, 19 Nov 2015 12:04:44 -0500
- Subject: [PATCH 00/15] Unittests framework v4: -fself-test
- Authentication-results: sourceware.org; auth=none
- References: <564A1DAB dot 1030700 at redhat dot com>
On Mon, 2015-11-16 at 19:17 +0100, Bernd Schmidt wrote:
> So Jeff and I just had a chat, and we came up with some thoughts about
> how to proceed. I think we both agree that it would be good to have a
> special testing backend, along with frontends designed to be able to
> read in gimple or rtl that can be operated on. That's more of a
> long-term thing.
>
> For some of the simpler infrastructure tests such as the ones in this
> patch kit (bitmap, vec or wide-int functionality testing and such), we
> had the idea of putting these into every ENABLE_CHECKING compiler, and
> run them after building stage1, controlled by a -fself-test flag. It's
> better to detect such basic failures early rather than complete a full
> bootstrap and test cycle. It also keeps the tests alongside the rest of
> the implementation, which I consider desirable for such relatively
> simple data structures.
>
> Thoughts?
I like the idea.
Here's another iteration of the patch kit, which implements it (mostly).
David Malcolm (15):
Selftest framework (unittests v4)
Add selftests to bitmap.c
Add selftests to tree-cfg.c
Add selftests to et-forest.c
Add selftests to fold-const.c
Add function-tests.c
Fix warning in function-tests.c
Add selftests to gimple.c
Add hash-map-tests.c
Add hash-set-tests.c
Add selftests to input.c
Add rtl-tests.c
Add selftests to tree.c
Add selftests to vec.c
RFC: Add ggc-tests.c
gcc/Makefile.in | 9 +-
gcc/bitmap.c | 92 ++++++++
gcc/common.opt | 4 +
gcc/et-forest.c | 99 ++++++++
gcc/fold-const.c | 66 ++++++
gcc/function-tests.c | 632 +++++++++++++++++++++++++++++++++++++++++++++++++++
gcc/ggc-tests.c | 302 ++++++++++++++++++++++++
gcc/gimple.c | 103 +++++++++
gcc/hash-map-tests.c | 81 +++++++
gcc/hash-set-tests.c | 57 +++++
gcc/input.c | 107 +++++++++
gcc/rtl-tests.c | 98 ++++++++
gcc/selftest.c | 152 +++++++++++++
gcc/selftest.h | 270 ++++++++++++++++++++++
gcc/toplev.c | 51 +++++
gcc/toplev.h | 2 +
gcc/tree-cfg.c | 264 +++++++++++++++++++++
gcc/tree.c | 47 ++++
gcc/vec.c | 142 ++++++++++++
19 files changed, 2575 insertions(+), 3 deletions(-)
create mode 100644 gcc/function-tests.c
create mode 100644 gcc/ggc-tests.c
create mode 100644 gcc/hash-map-tests.c
create mode 100644 gcc/hash-set-tests.c
create mode 100644 gcc/rtl-tests.c
create mode 100644 gcc/selftest.c
create mode 100644 gcc/selftest.h
--
1.8.5.3