This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
FYI: more objdir removal in testsuite/lib
- From: Tom Tromey <tromey at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Thu, 12 Jul 2012 10:38:56 -0600
- Subject: FYI: more objdir removal in testsuite/lib
I'm checking this in.
This removes a few unneeded uses of 'objdir' from gdb.exp.
There are still more there, and elsewhere in lib, but this is still an
improvement.
On my branch I redefine standard_output_file to:
proc standard_output_file {basename} {
global objdir subdir testfile
set dir [file join $objdir outputs $subdir $testfile]
file mkdir $dir
return [file join $dir $basename]
}
... and I can run most of the test suite this way.
This has two benefits:
First, it is parallel-safe, because each .exp file's outputs are
confined to its own private directory. This will let run each .exp file
in parallel if we want; my thought is to leave it up to 'make' rather
than the ad-hoc splitting we use now.
Second, this will let us remove all the subdir Makefiles and 'clean'
rules and whatnot in favor of a simple 'rm -rf outputs'. Maybe we can
get rid of testsuite/configure as well.
Tom
ChangeLog:
2012-07-12 Tom Tromey <tromey@redhat.com>
* lib/gdb.exp (standard_testfile): Don't declare objdir.
(clean_restart): Likewise.
(core_find): Use standard_output_file.
Index: lib/gdb.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.212
diff -u -r1.212 gdb.exp
--- lib/gdb.exp 12 Jul 2012 15:09:41 -0000 1.212
+++ lib/gdb.exp 12 Jul 2012 16:33:48 -0000
@@ -3097,7 +3097,7 @@
proc standard_testfile {args} {
global gdb_test_file_name
- global objdir subdir
+ global subdir
global gdb_test_file_last_vars
# Outputs.
@@ -3797,7 +3797,6 @@
# the basename of the binary.
proc clean_restart { executable } {
global srcdir
- global objdir
global subdir
set binfile [standard_output_file ${executable}]
@@ -3987,7 +3986,7 @@
# could have many core files lying around, and it may be difficult to
# tell which one is ours, so let's run the program in a subdirectory.
set found 0
- set coredir "${objdir}/${subdir}/coredir.[getpid]"
+ set coredir [standard_output_file coredir.[getpid]]
file mkdir $coredir
catch "system \"(cd ${coredir}; ulimit -c unlimited; ${binfile} ${arg}; true) >/dev/null 2>&1\""
# remote_exec host "${binfile}"