As reported in PR testsuite/52948, several plugin testcases were failing since the removal of TODO_dump_func:
UNRESOLVED: selfassign.c compilation, -I. -I/vol/gcc/src/hg/trunk/local/gcc/testsuite -I/vol/gcc/src/hg/trunk/local/gcc/testsuite/../../gcc -I/var/gcc/regression/trunk/11-gcc/build/gcc/testsuite/g++/../../../gcc -I/vol/gcc/src/hg/trunk/local/gcc/testsuite/../../include -I/vol/gcc/src/hg/trunk/local/gcc/testsuite/../../libcpp/include -I/vol/gcc/include -I/vol/gcc/include -I/vol/gcc/include -I/var/gcc/regression/trunk/11-gcc/build/gcc/testsuite/g++/../../../intl -O -DIN_GCC -fPIC -shared I have no idea why this has been missed when testing the removal patch, because the failures are very prominent in mail-report.log (maybe because the incorrectly show up as UNRESOLVED instead of FAIL). This patch fixes this by removing the uses of TODO_dump_func from the affected plugins. At the same time, I'm finally fixing some issues with the plugin tests that have annoyed me for quite some time: * The tests should log the full (relative) path to the testcase, not only the basenames. * Using unresolved to report failures to compile the plugins is wrong: this should be fail instead, and the pass case needs to be logged as well. * There's no point in logging the options used to compile the plugin: they are completely internal to plugin-support.exp and not in any way influenced by the testsuite drivers. There's one issue I didn't fix due to the large number of (bad) precedents in the testsuite: * If a plugin fails to compile, the compilations using it should become unresolved instead of just returning early. Bootstrapped without regressions on i386-pc-solaris2.11, installed on mainline. Rainer 2012-04-14 Rainer Orth <r...@cebitec.uni-bielefeld.de> gcc/testsuite: * lib/plugin-support.exp (plugin-test-execute): Properly determine testcase name. Use fail, pass instead of unresolved. Don't log $optstr. PR testsuite/52948 * g++.dg/plugin/dumb_plugin.c (pass_dumb_plugin_example): Remove TODO_dump_func. * g++.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise. * gcc.dg/plugin/one_time_plugin.c (one_pass): Likewise. * gcc.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.
# HG changeset patch # Parent 12b8d919dd25eba78689a9fef617cc5428a57c33 Fix plugin testsuite, uses of TODO_dump_func diff --git a/gcc/testsuite/g++.dg/plugin/dumb_plugin.c b/gcc/testsuite/g++.dg/plugin/dumb_plugin.c --- a/gcc/testsuite/g++.dg/plugin/dumb_plugin.c +++ b/gcc/testsuite/g++.dg/plugin/dumb_plugin.c @@ -72,7 +72,7 @@ static struct gimple_opt_pass pass_dumb_ 0, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ - TODO_dump_func /* todo_flags_finish */ + 0 /* todo_flags_finish */ } }; diff --git a/gcc/testsuite/g++.dg/plugin/selfassign.c b/gcc/testsuite/g++.dg/plugin/selfassign.c --- a/gcc/testsuite/g++.dg/plugin/selfassign.c +++ b/gcc/testsuite/g++.dg/plugin/selfassign.c @@ -276,7 +276,7 @@ static struct gimple_opt_pass pass_warn_ 0, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ - TODO_dump_func /* todo_flags_finish */ + 0 /* todo_flags_finish */ } }; diff --git a/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c b/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c --- a/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c +++ b/gcc/testsuite/gcc.dg/plugin/one_time_plugin.c @@ -42,7 +42,7 @@ struct gimple_opt_pass one_pass = 0, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ - TODO_dump_func /* todo_flags_finish */ + 0 /* todo_flags_finish */ } }; diff --git a/gcc/testsuite/gcc.dg/plugin/selfassign.c b/gcc/testsuite/gcc.dg/plugin/selfassign.c --- a/gcc/testsuite/gcc.dg/plugin/selfassign.c +++ b/gcc/testsuite/gcc.dg/plugin/selfassign.c @@ -276,7 +276,7 @@ static struct gimple_opt_pass pass_warn_ 0, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ - TODO_dump_func /* todo_flags_finish */ + 0 /* todo_flags_finish */ } }; diff --git a/gcc/testsuite/lib/plugin-support.exp b/gcc/testsuite/lib/plugin-support.exp --- a/gcc/testsuite/lib/plugin-support.exp +++ b/gcc/testsuite/lib/plugin-support.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2009, 2010 Free Software Foundation, Inc. +# Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -70,7 +70,8 @@ proc plugin-test-execute { plugin_src pl set base [file rootname $basename] set plugin_lib $base.so - verbose "Test the plugin $basename" 1 + set testcase [dg-trim-dirname $srcdir $plugin_src] + verbose "Test the plugin $testcase" 1 # Build the plugin itself set extra_flags [plugin-get-options $plugin_src] @@ -113,8 +114,12 @@ proc plugin-test-execute { plugin_src pl set_ld_library_path_env_vars if { $status != 0 } then { - unresolved "$basename compilation, $optstr" + fail "$testcase compilation" + # Strictly, this is wrong: the tests compiled with the plugin should + # become unresolved instead. return + } else { + pass "$testcase compilation" } # Compile the input source files with the plugin
-- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University