mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
Support 'make check-parallel' in gdb's build dir
Currently, you can cd to the gdb/testsuite/ dir and use make check-parallel, instead of using FORCE_PARALLEL: $ make -j8 check-parallel RUNTESTFLAGS="--target_board=native-gdbserver" $ make -j8 check RUNTESTFLAGS="--target_board=native-gdbserver" FORCE_PARALLEL=1 But you can't do that in the build/gdb/ dir: $ make check-parallel RUNTESTFLAGS="--target_board=native-gdbserver" make: *** No rule to make target `check-parallel'. Stop. I find check-parallel a bit more convenient, and more typo-proof, so this patch makes it work from the gdb build dir too. While documenting this in testsuite/README, I found that the parallel testing mode would better be pulled out to its own section and extended. gdb/ChangeLog: 2016-02-11 Pedro Alves <palves@redhat.com> * Makefile.in (check-parallel): New rule. gdb/testsuite/ChangeLog: 2016-02-11 Pedro Alves <palves@redhat.com> * README (Parallel testing): New section. (GDB_PARALLEL): Rewrite. (FORCE_PARALLEL): Document.
This commit is contained in:
parent
bec2ab5a15
commit
e352bf0a3c
@ -1,3 +1,7 @@
|
||||
2016-02-11 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* Makefile.in (check-parallel): New rule.
|
||||
|
||||
2016-02-11 Simon Marchi <simon.marchi@ericsson.com>
|
||||
|
||||
* arm-tdep.c (arm_skip_prologue): Remove unused variables.
|
||||
|
@ -1158,6 +1158,14 @@ check-read1: force
|
||||
$(MAKE) $(TARGET_FLAGS_TO_PASS) check-read1; \
|
||||
else true; fi
|
||||
|
||||
check-parallel: force
|
||||
@if [ -f testsuite/Makefile ]; then \
|
||||
rootme=`pwd`; export rootme; \
|
||||
rootsrc=`cd $(srcdir); pwd`; export rootsrc; \
|
||||
cd testsuite; \
|
||||
$(MAKE) $(TARGET_FLAGS_TO_PASS) check-parallel; \
|
||||
else true; fi
|
||||
|
||||
# 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
|
||||
|
@ -1,3 +1,9 @@
|
||||
2016-02-11 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* README (Parallel testing): New section.
|
||||
(GDB_PARALLEL): Rewrite.
|
||||
(FORCE_PARALLEL): Document.
|
||||
|
||||
2016-02-11 Marcin Kościelnicki <koriakin@0x04.net>
|
||||
|
||||
* gdb.trace/tfile-avx.c: New test.
|
||||
|
@ -25,6 +25,31 @@ The second is to cd to the testsuite directory and invoke the DejaGnu
|
||||
(The `site.exp' file contains a handful of useful variables like host
|
||||
and target triplets, and pathnames.)
|
||||
|
||||
Parallel testing
|
||||
****************
|
||||
|
||||
If not testing with a remote host (in DejaGnu's sense), you can run
|
||||
the GDB test suite in a fully parallel mode. In this mode, each .exp
|
||||
file runs separately and maybe simultaneously. The test suite ensures
|
||||
that all the temporary files created by the test suite do not clash,
|
||||
by putting them into separate directories. This mode is primarily
|
||||
intended for use by the Makefile.
|
||||
|
||||
For GNU make, the Makefile tries to run the tests in parallel mode if
|
||||
any -j option is given. For a non-GNU make, tests are not
|
||||
parallelized.
|
||||
|
||||
If RUNTESTFLAGS is not empty, then by default the tests are
|
||||
serialized. This can be overridden by either using the
|
||||
`check-parallel' target in the Makefile, or by setting FORCE_PARALLEL
|
||||
to any non-empty value:
|
||||
|
||||
make check-parallel RUNTESTFLAGS="--target_board=native-gdbserver
|
||||
make check RUNTESTFLAGS="--target_board=native-gdbserver FORCE_PARALLEL=1
|
||||
|
||||
If you want to use runtest directly instead of using the Makefile, see
|
||||
the description of GDB_PARALLEL below.
|
||||
|
||||
Running the Performance Tests
|
||||
*****************************
|
||||
|
||||
@ -125,19 +150,18 @@ a .gdbinit. For example:
|
||||
|
||||
GDB_PARALLEL
|
||||
|
||||
When testing natively (that is, not with a remote host), you can run
|
||||
the GDB test suite in a fully parallel mode. In this mode, each .exp
|
||||
file runs separately and maybe simultaneously. The test suite will
|
||||
ensure that all the temporary files created by the test suite do not
|
||||
clash, by putting them into separate directories. This mode is
|
||||
primarily intended for use by the Makefile.
|
||||
To use parallel testing mode without using the the Makefile, set
|
||||
GDB_PARALLEL on the runtest command line to "yes". Before starting
|
||||
the tests, you must ensure that the directories cache, outputs, and
|
||||
temp in the test suite build directory are either empty or have been
|
||||
deleted. cache in particular is used to share data across invocations
|
||||
of runtest, and files there may affect the test results. The Makefile
|
||||
automatically does these deletions.
|
||||
|
||||
To use this mode, set the GDB_PARALLEL on the runtest command line.
|
||||
Before starting the tests, you must ensure that the directories cache,
|
||||
outputs, and temp in the test suite build directory are either empty
|
||||
or have been deleted. cache in particular is used to share data
|
||||
across invocations of runtest, and files there may affect the test
|
||||
results. Note that the Makefile automatically does these deletions.
|
||||
FORCE_PARALLEL
|
||||
|
||||
Setting FORCE_PARALLEL to any non-empty value forces parallel testing
|
||||
mode even if RUNTESTFLAGS is not empty.
|
||||
|
||||
GDB_INOTIFY
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user