Message ID | yddlilwx9dq.fsf@manam.CeBiTec.Uni-Bielefeld.DE |
---|---|
State | New |
Headers | show |
cc Richard. thanks, David On Mon, Apr 16, 2012 at 3:24 AM, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote: > 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 <ro@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. > > > > > -- > ----------------------------------------------------------------------------- > Rainer Orth, Center for Biotechnology, Bielefeld University >
# 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