From: David Malcolm <dmalcolm@redhat.com>
To: gcc-patches@gcc.gnu.org
Cc: David Malcolm <dmalcolm@redhat.com>
Subject: [PATCH 01/16] Add unittest infrastructure
Date: Tue, 27 Oct 2015 19:31:00 -0000 [thread overview]
Message-ID: <1445975355-37660-2-git-send-email-dmalcolm@redhat.com> (raw)
In-Reply-To: <1445975355-37660-1-git-send-email-dmalcolm@redhat.com>
gcc/testsuite/ChangeLog:
* g++.dg/plugin/plugin.exp (plugin_test_list): Add the unittests
plugin.
* g++.dg/plugin/unittests.C: New file.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the unittests
plugin.
* gcc.dg/plugin/unittests.c: New file.
* lib/plugin-support.exp (dg-plugin-run-gengtype): New function.
(plugin-get-options): Handle dg-plugin-run-gengtype.
* lib/prune.exp (prune_gcc_output): Process any DejaGnu output
from the test, and convert into results at this level, prefixing
with the testcase.
* unittests/unittests-plugin.c: New file.
---
gcc/testsuite/g++.dg/plugin/plugin.exp | 4 +-
gcc/testsuite/g++.dg/plugin/unittests.C | 9 ++
gcc/testsuite/gcc.dg/plugin/plugin.exp | 1 +
gcc/testsuite/gcc.dg/plugin/unittests.c | 9 ++
gcc/testsuite/lib/plugin-support.exp | 29 +++-
gcc/testsuite/lib/prune.exp | 43 ++++++
gcc/testsuite/unittests/unittests-plugin.c | 213 +++++++++++++++++++++++++++++
7 files changed, 306 insertions(+), 2 deletions(-)
create mode 100644 gcc/testsuite/g++.dg/plugin/unittests.C
create mode 100644 gcc/testsuite/gcc.dg/plugin/unittests.c
create mode 100644 gcc/testsuite/unittests/unittests-plugin.c
diff --git a/gcc/testsuite/g++.dg/plugin/plugin.exp b/gcc/testsuite/g++.dg/plugin/plugin.exp
index 3ed1397..3e6e7f1 100644
--- a/gcc/testsuite/g++.dg/plugin/plugin.exp
+++ b/gcc/testsuite/g++.dg/plugin/plugin.exp
@@ -62,7 +62,9 @@ set plugin_test_list [list \
{ dumb_plugin.c dumb-plugin-test-1.C } \
{ header_plugin.c header-plugin-test.C } \
{ decl_plugin.c decl-plugin-test.C } \
- { def_plugin.c def-plugin-test.C } ]
+ { def_plugin.c def-plugin-test.C } \
+ { ../../unittests/unittests-plugin.c unittests.C } \
+]
foreach plugin_test $plugin_test_list {
# Replace each source file with its full-path name
diff --git a/gcc/testsuite/g++.dg/plugin/unittests.C b/gcc/testsuite/g++.dg/plugin/unittests.C
new file mode 100644
index 0000000..42b4e93
--- /dev/null
+++ b/gcc/testsuite/g++.dg/plugin/unittests.C
@@ -0,0 +1,9 @@
+/* Placeholder C++ source file for running the unittests plugin. */
+/* { dg-do compile } */
+/* { dg-options "-O" } */
+
+int
+main (int argc, char **argv)
+{
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/plugin/plugin.exp b/gcc/testsuite/gcc.dg/plugin/plugin.exp
index 39fab6e..5956fe3 100644
--- a/gcc/testsuite/gcc.dg/plugin/plugin.exp
+++ b/gcc/testsuite/gcc.dg/plugin/plugin.exp
@@ -63,6 +63,7 @@ set plugin_test_list [list \
{ start_unit_plugin.c start_unit-test-1.c } \
{ finish_unit_plugin.c finish_unit-test-1.c } \
{ wide-int_plugin.c wide-int-test-1.c } \
+ { ../../unittests/unittests-plugin.c unittests.c } \
]
foreach plugin_test $plugin_test_list {
diff --git a/gcc/testsuite/gcc.dg/plugin/unittests.c b/gcc/testsuite/gcc.dg/plugin/unittests.c
new file mode 100644
index 0000000..610e91d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/plugin/unittests.c
@@ -0,0 +1,9 @@
+/* Placeholder C source file for running the unittests plugin. */
+/* { dg-do compile } */
+/* { dg-options "-O" } */
+
+int
+main (int argc, char **argv)
+{
+ return 0;
+}
diff --git a/gcc/testsuite/lib/plugin-support.exp b/gcc/testsuite/lib/plugin-support.exp
index a9343cb..ffa8404 100644
--- a/gcc/testsuite/lib/plugin-support.exp
+++ b/gcc/testsuite/lib/plugin-support.exp
@@ -20,6 +20,32 @@
load_lib dg.exp
load_lib gcc.exp
+# Special-case directive for use by unittests/unittests-plugin.c
+# for invoking gengtype on test-ggc.c, to generate a
+# gt-unittests-test-ggc.h file.
+
+proc dg-plugin-run-gengtype { args } {
+ global srcdir objdir
+ verbose "dg-plugin-run-gengtype: args: $args" 3
+ verbose "srcdir: $srcdir" 3
+ verbose "objdir: $objdir" 3
+ set gcc_objdir "$objdir/../.."
+ set gengtype_cmd \
+ "$gcc_objdir/gengtype \
+ --plugin gt-unittests-test-ggc.h \
+ --read-state $gcc_objdir/gtype.state \
+ $srcdir/unittests/test-ggc.c"
+ verbose "gengtype_cmd: $gengtype_cmd" 3
+
+ set status [remote_exec build $gengtype_cmd]
+ set status [lindex $status 0]
+ if { $status != 0 } then {
+ fail "gengtype"
+ } else {
+ pass "gengtype"
+ }
+}
+
#
# plugin-get-options -- process test directives
#
@@ -35,7 +61,8 @@ proc plugin-get-options { src } {
set tmp [dg-get-options $src]
foreach op $tmp {
set cmd [lindex $op 0]
- if { ![string compare "dg-options" $cmd] } {
+ if { ![string compare "dg-options" $cmd]
+ || ![string compare "dg-plugin-run-gengtype" $cmd] } {
set status [catch "$op" errmsg]
if { $status != 0 } {
perror "src: $errmsg for \"$op\"\n"
diff --git a/gcc/testsuite/lib/prune.exp b/gcc/testsuite/lib/prune.exp
index fa10043..40a5a05 100644
--- a/gcc/testsuite/lib/prune.exp
+++ b/gcc/testsuite/lib/prune.exp
@@ -73,6 +73,49 @@ proc prune_gcc_output { text } {
# Call into multiline.exp to handle any multiline output directives.
set text [handle-multiline-outputs $text]
+ # Process any DejaGnu output from the test, and convert into results at
+ # this level, prefixing with the testcase.
+ # For example, given the line
+ # PASS: vec_test.quick_push
+ # from the test, we want to call "pass", giving a line like this in
+ # our .log/.sum, depending on [testname-for-summary]:
+ # PASS: gcc.dg/plugin/unittests.c -fplugin=./unittests-plugin.so vec_test.quick_push
+ verbose "Would handle: $text\n"
+ # Currently this only covers the possible outputs from
+ # unittests-plugin.c (PASS/FAIL/NOTE).
+ foreach status_pair { {"PASS" pass} {"FAIL" fail} {"NOTE" note} } {
+ set kind [lindex $status_pair 0]
+ set handler [lindex $status_pair 1]
+ #verbose "kind: $kind handler: $handler"
+ set pattern "^$kind: (.*?)$"
+ #verbose "pattern: $pattern"
+ set matches [regexp -all -inline -lineanchor $pattern $text]
+ #verbose "matches: $matches"
+ foreach {matched_line detail} $matches {
+ #verbose "matched_line: $matched_line"
+ #verbose "detail: $detail"
+ set testname [testname-for-summary]
+
+ # Call the handler ("pass"/"fail" etc) to convert to a message
+ # at this level, prefixed with [testname-for-summary]:
+ $handler "$testname $detail"
+
+ # Prune $matched_line from $text (or, at least, the first
+ # instance of it).
+ # Is there a less clunky way to do this? (regsub would require
+ # escaping any regex special characters within $matched_line).
+ # Locate first instance of matched_line:
+ set idx [string first $matched_line $text]
+ # Get length, adding one for the trailing newline char:
+ set linelen [expr [string length $matched_line] + 1]
+ # Cut it out from the middle of $text:
+ set textlen [string length $text]
+ set before [string range $text 0 [expr $idx - 1] ]
+ set after_ [string range $text [expr $idx + $linelen] $textlen]
+ set text $before$after_
+ }
+ }
+
#send_user "After:$text\n"
return $text
diff --git a/gcc/testsuite/unittests/unittests-plugin.c b/gcc/testsuite/unittests/unittests-plugin.c
new file mode 100644
index 0000000..e0fdf76
--- /dev/null
+++ b/gcc/testsuite/unittests/unittests-plugin.c
@@ -0,0 +1,213 @@
+/* Unittests plugin. */
+
+/* The following options are needed by gtest.
+
+ { dg-options "-lpthread -fPIC -Wno-missing-field-initializers -Wno-conversion-null -Wno-suggest-attribute=format -Wno-sign-compare" } */
+
+/* Directive to invoke gengtype on test-ggc.c
+ (handled by plugin-support.exp).
+
+ { dg-plugin-run-gengtype "" } */
+
+#include "config.h"
+#include "gtest/gtest.h"
+#include "gcc-plugin.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tree.h"
+#include "tm.h"
+#include "toplev.h"
+#include "hash-table.h"
+#include "vec.h"
+#include "ggc.h"
+#include "basic-block.h"
+#include "tree-ssa-alias.h"
+#include "internal-fn.h"
+#include "gimple-fold.h"
+#include "tree-eh.h"
+#include "gimple-expr.h"
+#include "is-a.h"
+#include "gimple.h"
+#include "tree-pass.h"
+#include "intl.h"
+#include "context.h"
+#include "diagnostic.h"
+#include "bitmap.h"
+
+int plugin_is_GPL_compatible;
+
+/* Print test output in DejaGnu form. */
+class deja_gnu_printer : public ::testing::EmptyTestEventListener
+{
+ public:
+ deja_gnu_printer (FILE *outfile, int verbose)
+ : m_outfile (outfile),
+ m_verbose (verbose)
+ {}
+
+ private:
+ virtual void
+ OnTestCaseStart(const ::testing::TestCase& test_case)
+ {
+ if (m_verbose)
+ fprintf (m_outfile, "NOTE: %s: case starting\n",
+ test_case.name ());
+ }
+
+ /* Vfunc called before a test starts. */
+ virtual void
+ OnTestStart (const ::testing::TestInfo& test_info)
+ {
+ if (m_verbose)
+ fprintf (m_outfile,
+ "NOTE: %s.%s: test starting\n",
+ test_info.test_case_name (), test_info.name ());
+ m_per_test_fails = 0;
+ }
+
+ /* Vfunc called after a failed assertion or a SUCCEED() invocation. */
+ virtual void
+ OnTestPartResult (const ::testing::TestPartResult& test_part_result)
+ {
+ fprintf (m_outfile,
+ "%s: %s:%d: %s\n",
+ test_part_result.failed () ? "FAIL" : "PASS",
+ test_part_result.file_name (),
+ test_part_result.line_number (),
+ test_part_result.summary ());
+ if (test_part_result.failed ())
+ m_per_test_fails++;
+ }
+
+ /* Vfunc called after a test ends. */
+ virtual void
+ OnTestEnd (const ::testing::TestInfo& test_info)
+ {
+ if (m_verbose)
+ fprintf (m_outfile,
+ "NOTE: %s.%s: test ending: %i failure(s)\n",
+ test_info.test_case_name (), test_info.name (),
+ m_per_test_fails);
+ fprintf (m_outfile,
+ "%s: %s.%s\n",
+ m_per_test_fails > 0 ? "FAIL" : "PASS",
+ test_info.test_case_name (), test_info.name ());
+ }
+
+ virtual void
+ OnTestCaseEnd (const ::testing::TestCase& test_case)
+ {
+ if (m_verbose)
+ fprintf (m_outfile, "NOTE: %s: case ending\n",
+ test_case.name ());
+ }
+
+ private:
+ FILE *m_outfile;
+ int m_verbose;
+ int m_per_test_fails;
+};
+
+/* Get rid of the default gtest result printer, and instead use LISTENER,
+ taking ownership of the ptr. */
+
+static void
+replace_default_gtest_result_printer (::testing::TestEventListener *listener)
+{
+ ::testing::TestEventListeners& listeners =
+ ::testing::UnitTest::GetInstance()->listeners();
+ delete listeners.Release(listeners.default_result_printer());
+ listeners.Append(listener);
+}
+
+/* Callback handler for the PLUGIN_FINISH event.
+ At this point, all GCC subsystems should be initialized and
+ "warmed up"; this is where we run our unit tests. */
+
+static void
+on_finish (void */*gcc_data*/, void */*user_data*/)
+{
+ /* Initialize gtest with empty arguments. In theory we could locate
+ the arguments passed to the plugin and pass them on to gtest. */
+ int argc = 0;
+ char **argv = NULL;
+ ::testing::InitGoogleTest (&argc, argv);
+
+ /* Use our custom result-printer. */
+ replace_default_gtest_result_printer (new deja_gnu_printer (stderr, 0));
+
+ /* Reset some state. */
+ input_location = UNKNOWN_LOCATION;
+ bitmap_obstack_initialize (NULL);
+
+ /* Run the tests. */
+ int result = RUN_ALL_TESTS();
+
+ /* Ensure that a test failure leads to the process exiting with
+ a non-zero exit code. */
+ if (result)
+ error ("at least one test failure occurred");
+
+ /* Cleanup. */
+ bitmap_obstack_release (NULL);
+}
+
+/* Defined in "gt-unittests-test-ggc.h", as generated by
+ dg-plugin-run-gengtype. */
+extern const struct ggc_root_tab gt_ggc_r_gt_unittests_test_ggc_h[];
+#if 0
+extern const struct ggc_root_tab gt_ggc_rd_gt_unittests_test_ggc_h[];
+#endif
+
+int
+plugin_init (struct plugin_name_args *plugin_info,
+ struct plugin_gcc_version */*version*/)
+{
+ if (0)
+ fprintf (stderr, "got here\n");
+
+ register_callback (plugin_info->base_name,
+ PLUGIN_REGISTER_GGC_ROOTS,
+ NULL,
+ const_cast <ggc_root_tab *> (
+ gt_ggc_r_gt_unittests_test_ggc_h));
+
+ /* FIXME: we'd use this for test-ggc.c's test_of_deletable.
+ However we'd need to register it as a different kind of roottab;
+ doing it with PLUGIN_REGISTER_GGC_ROOTS leads to a segfault on
+ collection due to the NULL cb.
+ It looks like we need another hook; gt_ggc_deletable_rtab is
+ currently not expandable. */
+#if 0
+ register_callback (plugin_info->base_name,
+ PLUGIN_REGISTER_GGC_ROOTS,
+ NULL,
+ const_cast <ggc_root_tab *> (
+ gt_ggc_rd_gt_unittests_test_ggc_h));
+#endif
+ register_callback (plugin_info->base_name,
+ PLUGIN_FINISH,
+ on_finish,
+ NULL); /* void *user_data */
+
+ return 0;
+}
+
+/* Include gtest's source. */
+#include "gtest-all.c"
+
+/* Now include the test cases. */
+#include "test-bitmap.c"
+#include "test-cfg.c"
+#include "test-et-forest.c"
+#include "test-folding.c"
+#include "test-functions.c"
+#include "test-ggc.c"
+#include "test-gimple.c"
+#include "test-hash-map.c"
+#include "test-hash-set.c"
+#include "test-locations.c"
+#include "test-rtl.c"
+#include "test-tree.c"
+#include "test-vec.c"
+#include "test-wide-int.c"
--
1.8.5.3
next prev parent reply other threads:[~2015-10-27 19:31 UTC|newest]
Thread overview: 176+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-10 15:10 [PATCH 00/17] RFC: Addding a unit testing framework to gcc David Malcolm
2015-06-10 15:10 ` [PATCH 11/17] Add test-rtl.c to gcc/unittests David Malcolm
2015-06-10 15:10 ` [PATCH 04/17] Add test-folding.c " David Malcolm
2015-06-10 15:10 ` [PATCH 09/17] Add test-hash-set.c " David Malcolm
2015-06-10 15:10 ` [PATCH 02/17] Add test-bitmap.c " David Malcolm
2015-06-23 19:17 ` Jeff Law
2015-06-10 15:10 ` [PATCH 01/17] Add Make-lang.in and config-lang.in " David Malcolm
2015-06-10 15:10 ` [PATCH 12/17] Add test-tree.c " David Malcolm
2015-06-10 15:10 ` [PATCH 07/17] Add test-gimple.c " David Malcolm
2015-06-10 15:10 ` [PATCH 10/17] Add test-locations.c " David Malcolm
2015-06-10 15:10 ` [PATCH 05/17] Add test-functions.c " David Malcolm
2015-06-10 15:10 ` [PATCH 08/17] Add test-hash-map.c " David Malcolm
2015-06-10 15:17 ` [PATCH 03/17] Add test-cfg.c " David Malcolm
2015-06-23 19:26 ` Jeff Law
2015-06-25 18:13 ` David Malcolm
2015-06-10 15:25 ` [PATCH 17/17] toplev.c: move location_adhoc_data_fini call David Malcolm
2015-06-10 15:26 ` [PATCH 13/17] Add test-vec.c to gcc/unittests David Malcolm
2015-06-10 15:26 ` [PATCH 16/17] Add unittests-main.c " David Malcolm
2015-06-10 15:28 ` [PATCH 15/17] Add unittests-frontend.c " David Malcolm
2015-06-10 15:28 ` [PATCH 06/17] Add test-ggc.c " David Malcolm
2015-06-10 15:34 ` [PATCH 14/17] Add test-wide-int.c " David Malcolm
2015-06-10 16:19 ` [PATCH 00/17] RFC: Addding a unit testing framework to gcc Jakub Jelinek
2015-06-10 16:25 ` Richard Biener
2015-06-10 17:56 ` David Malcolm
2015-06-10 23:42 ` Jakub Jelinek
2015-06-17 20:36 ` [PATCH/RFC]: unittesting v2: as a plugin (was Re: [PATCH 00/17] RFC: Addding a unit testing framework to gcc) David Malcolm
2015-06-23 19:29 ` Jeff Law
2015-10-27 19:31 ` [PATCH 00/16] Unit tests framework (v3) David Malcolm
2015-10-27 19:31 ` [PATCH 11/16] Add test-hash-set.c to unittests David Malcolm
2015-10-30 4:54 ` Jeff Law
2015-10-27 19:31 ` [PATCH 05/16] Add test-et-forest.c " David Malcolm
2015-10-30 4:11 ` Jeff Law
2015-10-27 19:31 ` [PATCH 15/16] Add test-vec.c " David Malcolm
2015-10-30 5:10 ` Jeff Law
2015-10-27 19:31 ` David Malcolm [this message]
2015-10-30 5:20 ` [PATCH 01/16] Add unittest infrastructure Jeff Law
2015-10-27 19:31 ` [PATCH 03/16] Add test-bitmap.c to unittests David Malcolm
2015-10-29 21:36 ` Jeff Law
2015-10-27 19:32 ` [PATCH 04/16] Add test-cfg.c " David Malcolm
2015-10-29 22:23 ` Jeff Law
2015-10-27 19:32 ` [PATCH 10/16] Add test-hash-map.c " David Malcolm
2015-10-30 4:57 ` Jeff Law
2015-10-27 19:32 ` [PATCH 07/16] Add test-functions.c " David Malcolm
2015-10-30 5:19 ` Jeff Law
2015-10-27 19:35 ` [PATCH 06/16] Add test-folding.c " David Malcolm
2015-10-30 5:06 ` Jeff Law
2015-10-27 19:48 ` [PATCH 14/16] Add test-tree.c " David Malcolm
2015-10-30 5:00 ` Jeff Law
2015-10-27 19:49 ` [PATCH 08/16] Add test-ggc.c " David Malcolm
2015-10-30 5:08 ` Jeff Law
2015-10-27 19:49 ` [PATCH 12/16] Add test-locations.c " David Malcolm
2015-10-30 5:09 ` Jeff Law
2015-10-27 19:50 ` [PATCH 13/16] Add test-rtl.c " David Malcolm
2015-10-30 4:58 ` Jeff Law
2015-10-31 20:36 ` Segher Boessenkool
2015-10-27 19:51 ` [PATCH 16/16] Add test-wide-int.c " David Malcolm
2015-10-30 5:15 ` Jeff Law
2015-10-27 19:58 ` [PATCH 09/16] Add test-gimple.c " David Malcolm
2015-10-28 12:39 ` Richard Biener
2015-10-28 12:44 ` Richard Biener
2015-10-28 16:22 ` Jeff Law
2015-10-30 5:02 ` Jeff Law
2015-10-27 20:16 ` [PATCH 00/16] Unit tests framework (v3) David Malcolm
2015-10-30 5:28 ` Jeff Law
2015-10-28 11:53 ` Bernd Schmidt
2015-10-28 13:02 ` Bernd Schmidt
2015-10-29 16:20 ` David Malcolm
2015-10-29 19:38 ` Jeff Law
2015-10-29 22:32 ` Mike Stump
2015-10-30 3:59 ` Jeff Law
2015-10-29 19:21 ` Jeff Law
2015-10-30 10:54 ` Bernd Schmidt
2015-10-30 16:08 ` Jeff Law
2015-11-16 18:17 ` Bernd Schmidt
2015-11-16 18:48 ` David Malcolm
2015-11-16 21:22 ` Bernd Schmidt
2015-11-16 23:12 ` Jeff Law
2015-11-17 1:54 ` Mike Stump
2015-11-17 12:51 ` Bernd Schmidt
2015-11-17 18:06 ` Jeff Law
2015-11-19 16:46 ` [PATCH 00/15] Unittests framework v4: -fself-test David Malcolm
2015-11-19 16:46 ` [PATCH 06/15] Add function-tests.c David Malcolm
2015-11-19 16:46 ` [PATCH 13/15] Add selftests to tree.c David Malcolm
2015-11-19 16:46 ` [PATCH 14/15] Add selftests to vec.c David Malcolm
2015-11-19 16:46 ` [PATCH 01/15] Selftest framework (unittests v4) David Malcolm
2015-11-19 17:35 ` Bernd Schmidt
2015-11-19 18:08 ` David Malcolm
2015-11-19 18:15 ` Mike Stump
2015-11-19 18:44 ` Bernd Schmidt
2015-11-19 20:04 ` Mikhail Maltsev
2015-11-24 20:45 ` Jeff Law
2015-11-25 2:43 ` David Malcolm
2015-11-25 10:56 ` Bernd Schmidt
2015-11-25 16:57 ` Mike Stump
2015-11-29 18:10 ` Jeff Law
2015-11-25 22:58 ` David Malcolm
2015-11-25 7:43 ` Trevor Saunders
2015-11-25 22:53 ` David Malcolm
2015-11-26 13:00 ` Bernd Schmidt
2015-11-30 23:05 ` Jeff Law
2015-11-24 20:29 ` Jeff Law
2015-11-24 22:43 ` Jeff Law
2015-11-19 16:46 ` [PATCH 04/15] Add selftests to et-forest.c David Malcolm
2015-11-19 16:46 ` [PATCH 15/15] RFC: Add ggc-tests.c David Malcolm
2015-11-19 16:46 ` [PATCH 07/15] Fix warning in function-tests.c David Malcolm
2015-11-19 16:46 ` [PATCH 03/15] Add selftests to tree-cfg.c David Malcolm
2015-11-19 16:46 ` [PATCH 08/15] Add selftests to gimple.c David Malcolm
2015-11-19 16:46 ` [PATCH 09/15] Add hash-map-tests.c David Malcolm
2015-11-19 16:46 ` [PATCH 05/15] Add selftests to fold-const.c David Malcolm
2015-11-19 16:46 ` [PATCH 02/15] Add selftests to bitmap.c David Malcolm
2015-11-20 10:41 ` Richard Biener
2015-11-24 21:13 ` Jeff Law
2015-11-19 16:46 ` [PATCH 10/15] Add hash-set-tests.c David Malcolm
2015-11-19 17:03 ` [PATCH 12/15] Add rtl-tests.c David Malcolm
2015-11-19 17:03 ` [PATCH 11/15] Add selftests to input.c David Malcolm
2016-06-01 20:54 ` [PATCH 00/21] Add -fself-test framework for fast, early unit-testing (unittests v5) David Malcolm
2016-06-01 20:54 ` [PATCH 10/21] Add selftests to fold-const.c David Malcolm
2016-06-01 20:54 ` [PATCH 01/21] Selftest framework (unittests v5) David Malcolm
2016-06-01 20:54 ` [PATCH 20/21] Add selftests to tree.c David Malcolm
2016-06-01 20:54 ` [PATCH 18/21] Add selftests to input.c David Malcolm
2016-06-01 20:54 ` [PATCH 17/21] Add hash-set-tests.c David Malcolm
2016-06-01 20:54 ` [PATCH 09/21] Add selftests to et-forest.c David Malcolm
2016-06-01 20:54 ` [PATCH 03/21] Various selftest::runner tweaks David Malcolm
2016-06-01 20:54 ` [PATCH 02/21] Makefile.in integration David Malcolm
2016-06-01 20:54 ` [PATCH 04/21] Add -fself-test-regex= David Malcolm
2016-06-01 20:54 ` [PATCH 07/21] Add selftests to bitmap.c David Malcolm
2016-06-01 21:09 ` [PATCH 12/21] Fix warning in function-tests.c David Malcolm
2016-06-01 21:10 ` [PATCH 11/21] Add function-tests.c David Malcolm
2016-06-01 21:10 ` [PATCH 08/21] Add selftests to tree-cfg.c David Malcolm
2016-06-01 21:10 ` [PATCH 06/21] Convert Levenshtein test from a plugin to a selftest David Malcolm
2016-06-01 21:10 ` [PATCH 21/21] Add selftests to vec.c David Malcolm
2016-06-01 21:11 ` [PATCH 16/21] Add hash-map-tests.c David Malcolm
2016-06-01 21:20 ` [PATCH 00/21] Add -fself-test framework for fast, early unit-testing (unittests v5) Sandra Loosemore
2016-06-02 13:08 ` David Malcolm
2016-06-01 21:21 ` [PATCH 05/21] Add selftests for diagnostic-show-locus.c David Malcolm
2016-06-01 21:22 ` [PATCH 19/21] Add rtl-tests.c David Malcolm
2016-06-01 21:23 ` [PATCH 15/21] Add selftests to gimple.c David Malcolm
2016-06-01 21:26 ` [PATCH 14/21] Remove x86_64-isms in function-tests.c David Malcolm
2016-06-01 21:29 ` [PATCH 13/21] Fixup to function-tests.c David Malcolm
2016-06-02 10:30 ` [PATCH 00/21] Add -fself-test framework for fast, early unit-testing (unittests v5) Bernd Schmidt
2016-06-02 13:41 ` David Malcolm
2016-06-02 20:41 ` [PATCH 00/16] v6 of -fself-test/unit-testing patch David Malcolm
2016-06-02 20:41 ` [PATCH 05/16] tree-cfg.c: add selftests David Malcolm
2016-06-02 20:41 ` [PATCH 09/16] gimple.c: " David Malcolm
2016-06-02 20:41 ` [PATCH 04/16] bitmap.c: " David Malcolm
2016-06-02 20:41 ` [PATCH 03/16] spellcheck.c: convert Levenshtein test from a plugin to a selftest David Malcolm
2016-06-02 20:41 ` [PATCH 02/16] diagnostic-show-locus.c: add selftests David Malcolm
2016-06-02 20:41 ` [PATCH 10/16] Add hash-map-tests.c David Malcolm
2016-06-02 20:41 ` [PATCH 01/16] Core of selftest framework (v6) David Malcolm
2016-06-02 23:21 ` Bernd Schmidt
2016-06-03 18:47 ` [PATCH] Selftest framework (v7) David Malcolm
2016-06-05 11:38 ` Bernd Schmidt
2016-06-06 14:17 ` David Malcolm
2016-06-06 14:41 ` Bernd Schmidt
2016-06-06 17:18 ` [Committed] Selftest framework (v8) David Malcolm
2016-06-06 21:47 ` [PATCH] Selftest framework (v7) Trevor Saunders
2016-06-06 21:57 ` Jakub Jelinek
2016-06-07 2:07 ` Trevor Saunders
2016-06-07 14:18 ` David Malcolm
2016-06-08 0:23 ` Trevor Saunders
2016-06-02 20:57 ` [PATCH 08/16] Add function-tests.c David Malcolm
2016-06-02 20:58 ` [PATCH 14/16] tree.c: add selftests David Malcolm
2016-06-02 21:03 ` [PATCH 16/16] wide-int.cc: " David Malcolm
2016-06-02 21:03 ` [PATCH 13/16] Add rtl-tests.c David Malcolm
2016-06-02 21:03 ` [PATCH 12/16] input.c: add selftests David Malcolm
2016-06-02 21:06 ` [PATCH 15/16] vec.c: " David Malcolm
2016-06-02 21:09 ` [PATCH 06/16] et-forest.c: " David Malcolm
2016-06-02 21:09 ` [PATCH 11/16] Add hash-set-tests.c David Malcolm
2016-06-02 21:09 ` [PATCH 07/16] fold-const.c: add selftests David Malcolm
2015-10-28 16:05 ` [PATCH 00/16] Unit tests framework (v3) Jeff Law
2015-10-28 20:26 ` Mike Stump
2015-06-23 19:06 ` [PATCH 00/17] RFC: Addding a unit testing framework to gcc Jeff Law
2015-06-23 20:04 ` Mike Stump
2015-06-10 18:21 ` David Malcolm
2015-06-10 22:15 ` Jakub Jelinek
2015-06-11 14:49 ` Martin Liška
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1445975355-37660-2-git-send-email-dmalcolm@redhat.com \
--to=dmalcolm@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).