[binutils-gdb] [gdb/testsuite] Use gdb_remote_download in allow_opencl_tests
Tom de Vries
vries@sourceware.org
Thu Mar 23 13:54:33 GMT 2023
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=91ffa03af1cc32515190c3b52d7b964f5abead5f
commit 91ffa03af1cc32515190c3b52d7b964f5abead5f
Author: Tom de Vries <tdevries@suse.de>
Date: Thu Mar 23 14:54:28 2023 +0100
[gdb/testsuite] Use gdb_remote_download in allow_opencl_tests
Simon reported that doing:
...
$ while make check-parallel TESTS='gdb.opencl/*.exp' -j 100; do true; done
...
could run into:
...
ERROR: remote_download to target of \
/data/vries/gdb/src/gdb/testsuite/lib/opencl_kernel.cl to opencl_kernel.cl: \
cp: cannot create regular file 'opencl_kernel.cl': File exists
...
Fix this by using gdb_remote_download (instead of plain remote_download) in
allow_opencl_test, which takes care of:
- downloading to a location which is safe for parallel testing, by
using standard_output_file, and
- cleaning up the downloaded file, meaning we can remove the corresponding
"remote_file target delete ${clprogram}" lines in allow_opencl_test.
Tested on x86_64-linux.
Reported-by: Simon Marchi <simon.marchi@efficios.com>
Diff:
---
gdb/testsuite/lib/opencl.exp | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/gdb/testsuite/lib/opencl.exp b/gdb/testsuite/lib/opencl.exp
index dc7966443d5..e878c4e87ae 100644
--- a/gdb/testsuite/lib/opencl.exp
+++ b/gdb/testsuite/lib/opencl.exp
@@ -38,14 +38,13 @@ gdb_caching_proc allow_opencl_tests {} {
# Set up, compile, and execute an OpenCL program. Include the current
# process ID in the file name of the executable to prevent conflicts with
# invocations for multiple testsuites.
- set clprogram [remote_download target ${srcdir}/lib/opencl_kernel.cl]
+ set clprogram [gdb_remote_download target ${srcdir}/lib/opencl_kernel.cl]
set executable opencltest[pid].x
verbose "$me: compiling OpenCL test app" 2
set compile_flags {debug nowarnings quiet}
if { [gdb_compile_opencl_hostapp "${clprogram}" "${executable}" "${compile_flags}" ] != "" } {
- remote_file target delete ${clprogram}
verbose "$me: compiling OpenCL binary failed, returning 0" 2
return 0
}
@@ -70,9 +69,6 @@ gdb_caching_proc allow_opencl_tests {} {
gdb_exit
remote_file build delete $executable
- # Delete the OpenCL program source file.
- remote_file target delete ${clprogram}
-
verbose "$me: returning $result" 2
return $result
}
More information about the Gdb-cvs
mailing list