Commit 3809f645 by Tom de Vries Committed by Tom de Vries

Add profopt-target-cleanup

2015-02-26  Tom de Vries  <tom@codesourcery.com>

	* lib/profopt.exp (profopt-target-cleanup): New proc.
	(profopt-execute): Use profopt-target-cleanup to handle cleanup of
	files from sources from dg-additional-sources.

From-SVN: r221024
parent 70f6380d
2015-02-26 Tom de Vries <tom@codesourcery.com> 2015-02-26 Tom de Vries <tom@codesourcery.com>
* lib/profopt.exp (profopt-target-cleanup): New proc.
(profopt-execute): Use profopt-target-cleanup to handle cleanup of
files from sources from dg-additional-sources.
2015-02-26 Tom de Vries <tom@codesourcery.com>
* lib/gcov.exp: Cleanup in case of xfail. * lib/gcov.exp: Cleanup in case of xfail.
2015-02-26 Sebastian Pop <s.pop@samsung.com> 2015-02-26 Sebastian Pop <s.pop@samsung.com>
......
...@@ -81,6 +81,30 @@ proc profopt-cleanup { testcase extlist } { ...@@ -81,6 +81,30 @@ proc profopt-cleanup { testcase extlist } {
} }
# #
# profopt-target-cleanup -- remove profiling result files.
#
# DIR is the name of the directory
# TESTCASE is the name of the test
# EXT is the extensions of files to remove
#
proc profopt-target-cleanup { dir testcase ext } {
global additional_sources_used
set basename [file tail $testcase]
set base [file rootname $basename]
set file "$dir/$base.$ext"
eval "remote_file target delete $file"
if [info exists additional_sources_used] {
foreach srcfile $additional_sources_used {
set basename [file tail $srcfile]
set base [file rootname $basename]
set file "$dir/$base.$ext"
eval "remote_file target delete $file"
}
}
}
#
# profopt-perf-value -- get performance value for a test # profopt-perf-value -- get performance value for a test
# #
# TESTCASE is the name of the test # TESTCASE is the name of the test
...@@ -262,10 +286,7 @@ proc profopt-execute { src } { ...@@ -262,10 +286,7 @@ proc profopt-execute { src } {
remote_file build delete $execname3 remote_file build delete $execname3
verbose "Testing $testcase, $option" 1 verbose "Testing $testcase, $option" 1
# Remove old profiling and performance data files. # Remove old performance data files.
foreach ext $prof_ext {
remote_file target delete $tmpdir/$base.$ext
}
if [info exists perf_ext] { if [info exists perf_ext] {
profopt-cleanup $testcase $perf_ext profopt-cleanup $testcase $perf_ext
} }
...@@ -285,6 +306,12 @@ proc profopt-execute { src } { ...@@ -285,6 +306,12 @@ proc profopt-execute { src } {
set extra_options [dg-additional-files-options "" "$src"] set extra_options [dg-additional-files-options "" "$src"]
# Remove old profiling data files. Make sure additional_sources_used is
# valid, by running it after dg-additional-files-options.
foreach ext $prof_ext {
profopt-target-cleanup $tmpdir $base $ext
}
# Tree profiling requires TLS runtime support, which may need # Tree profiling requires TLS runtime support, which may need
# additional flags. # additional flags.
if { [string first "-fprofile-generate" $profile_option] >= 0 } { if { [string first "-fprofile-generate" $profile_option] >= 0 } {
...@@ -368,7 +395,7 @@ proc profopt-execute { src } { ...@@ -368,7 +395,7 @@ proc profopt-execute { src } {
# Remove the profiling data files. # Remove the profiling data files.
foreach ext $prof_ext { foreach ext $prof_ext {
remote_file target delete $tmpdir/$base.$ext profopt-target-cleanup $tmpdir $base $ext
} }
if { $status != "pass" } { if { $status != "pass" } {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment