aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/Makefile.in8
-rw-r--r--gdb/testsuite/lib/gdb-utils.exp5
2 files changed, 11 insertions, 2 deletions
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index cb19de6..234d005 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -2003,6 +2003,10 @@ check-all-boards: force
$(MAKE) $(TARGET_FLAGS_TO_PASS) check-all-boards; \
else true; fi
+testsuite.lockdir: force
+ rm -rf $@
+ mkdir -p $@
+
# The idea is to parallelize testing of multilibs, for example:
# make -j3 check//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu}
# will run 3 concurrent sessions of check, eventually testing all 10
@@ -2011,7 +2015,7 @@ check-all-boards: force
# used, this rule will harmlessly fail to match. Used FORCE_PARALLEL to
# prevent serialized checking due to the passed RUNTESTFLAGS.
# FIXME: use config.status --config not --version, when available.
-check//%: force
+check//%: force testsuite.lockdir
@if [ -f testsuite/config.status ]; then \
rootme=`pwd`; export rootme; \
rootsrc=`cd $(srcdir); pwd`; export rootsrc; \
@@ -2029,7 +2033,7 @@ check//%: force
); \
else :; fi && cd $$testdir && \
$(MAKE) $(TARGET_FLAGS_TO_PASS) \
- RUNTESTFLAGS="--target_board=$$variant $(RUNTESTFLAGS)" \
+ RUNTESTFLAGS="GDB_LOCK_DIR=$$rootme/testsuite.lockdir --target_board=$$variant $(RUNTESTFLAGS)" \
FORCE_PARALLEL=$(if $(FORCE_PARALLEL),1,$(if $(RUNTESTFLAGS),,1)) \
"$$target"; \
else true; fi
diff --git a/gdb/testsuite/lib/gdb-utils.exp b/gdb/testsuite/lib/gdb-utils.exp
index 1f30d80..95c53d0 100644
--- a/gdb/testsuite/lib/gdb-utils.exp
+++ b/gdb/testsuite/lib/gdb-utils.exp
@@ -180,6 +180,11 @@ proc lock_file_release {info} {
# Return directory where we keep lock files.
proc lock_dir {} {
+ if { [info exists ::GDB_LOCK_DIR] } {
+ # When using check//.
+ return $::GDB_LOCK_DIR
+ }
+
return [make_gdb_parallel_path cache]
}