jit: add a way to preserve testsuite executables

gcc/jit/ChangeLog:
	* docs/internals/index.rst (Running the test suite): Document
	PRESERVE_EXECUTABLES.
	(Running under valgrind): Add markup to RUN_UNDER_VALGRIND.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.

gcc/testsuite/ChangeLog:
	* jit.dg/jit.exp (jit-dg-test): If PRESERVE_EXECUTABLES is set in
	the environment, don't delete the generated executable.

From-SVN: r254282
This commit is contained in:
David Malcolm 2017-10-31 20:40:10 +00:00 committed by David Malcolm
parent 84ffba1283
commit 77f4ead72e
5 changed files with 42 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2017-10-31 David Malcolm <dmalcolm@redhat.com>
* docs/internals/index.rst (Running the test suite): Document
PRESERVE_EXECUTABLES.
(Running under valgrind): Add markup to RUN_UNDER_VALGRIND.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
2017-10-04 David Malcolm <dmalcolm@redhat.com>
* docs/cp/topics/expressions.rst (Vector expressions): New

View File

@ -19,7 +19,7 @@
@copying
@quotation
libgccjit 8.0.0 (experimental 20171004), October 04, 2017
libgccjit 8.0.0 (experimental 20171031), October 31, 2017
David Malcolm
@ -15016,7 +15016,12 @@ jit/build/gcc/testsuite/jit/jit.log
@noindent
The test executables can be seen as:
The test executables are normally deleted after each test is run. For
debugging, they can be preserved by setting
@geindex PRESERVE_EXECUTABLES
@geindex environment variable; PRESERVE_EXECUTABLES
@code{PRESERVE_EXECUTABLES}
in the environment. If so, they can then be seen as:
@example
jit/build/gcc/testsuite/jit/*.exe
@ -15029,7 +15034,9 @@ which can be run independently.
You can compile and run individual tests by passing "jit.exp=TESTNAME" to RUNTESTFLAGS e.g.:
@example
[gcc] $ make check-jit RUNTESTFLAGS="-v -v -v jit.exp=test-factorial.c"
[gcc] $ PRESERVE_EXECUTABLES= \
make check-jit \
RUNTESTFLAGS="-v -v -v jit.exp=test-factorial.c"
@end example
@noindent
@ -15056,7 +15063,10 @@ and once a test has been compiled, you can debug it directly:
@subsection Running under valgrind
The jit testsuite detects if RUN_UNDER_VALGRIND is present in the
The jit testsuite detects if
@geindex RUN_UNDER_VALGRIND
@geindex environment variable; RUN_UNDER_VALGRIND
@code{RUN_UNDER_VALGRIND} is present in the
environment (with any value). If it is present, it runs the test client
code under valgrind@footnote{http://valgrind.org},
specifcally, the default

View File

@ -103,7 +103,9 @@ and detailed logs in:
jit/build/gcc/testsuite/jit/jit.log
The test executables can be seen as:
The test executables are normally deleted after each test is run. For
debugging, they can be preserved by setting :envvar:`PRESERVE_EXECUTABLES`
in the environment. If so, they can then be seen as:
.. code-block:: console
@ -115,7 +117,9 @@ You can compile and run individual tests by passing "jit.exp=TESTNAME" to RUNTES
.. code-block:: console
[gcc] $ make check-jit RUNTESTFLAGS="-v -v -v jit.exp=test-factorial.c"
[gcc] $ PRESERVE_EXECUTABLES= \
make check-jit \
RUNTESTFLAGS="-v -v -v jit.exp=test-factorial.c"
and once a test has been compiled, you can debug it directly:
@ -130,7 +134,7 @@ and once a test has been compiled, you can debug it directly:
Running under valgrind
**********************
The jit testsuite detects if RUN_UNDER_VALGRIND is present in the
The jit testsuite detects if :envvar:`RUN_UNDER_VALGRIND` is present in the
environment (with any value). If it is present, it runs the test client
code under `valgrind <http://valgrind.org>`_,
specifcally, the default

View File

@ -1,3 +1,8 @@
2017-10-31 David Malcolm <dmalcolm@redhat.com>
* jit.dg/jit.exp (jit-dg-test): If PRESERVE_EXECUTABLES is set in
the environment, don't delete the generated executable.
2017-10-31 David Malcolm <dmalcolm@redhat.com>
* g++.dg/cpp0x/auto21.C: Update dg-error to reflect addition of

View File

@ -580,6 +580,15 @@ proc jit-dg-test { prog do_what extra_tool_flags } {
verbose "$name is not meant to generate a reproducer"
}
# Normally we would return $comp_output and $output_file to the
# caller, which would delete $output_file, the generated executable.
# If we need to debug, it's handy to be able to suppress this behavior,
# keeping the executable around.
set preserve_executables [info exists env(PRESERVE_EXECUTABLES)]
if $preserve_executables {
set output_file ""
}
return [list $comp_output $output_file]
}