Commit 77f4ead7 by David Malcolm Committed by David Malcolm

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
parent 84ffba12
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> 2017-10-04 David Malcolm <dmalcolm@redhat.com>
* docs/cp/topics/expressions.rst (Vector expressions): New * docs/cp/topics/expressions.rst (Vector expressions): New
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
@copying @copying
@quotation @quotation
libgccjit 8.0.0 (experimental 20171004), October 04, 2017 libgccjit 8.0.0 (experimental 20171031), October 31, 2017
David Malcolm David Malcolm
...@@ -15016,7 +15016,12 @@ jit/build/gcc/testsuite/jit/jit.log ...@@ -15016,7 +15016,12 @@ jit/build/gcc/testsuite/jit/jit.log
@noindent @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 @example
jit/build/gcc/testsuite/jit/*.exe jit/build/gcc/testsuite/jit/*.exe
...@@ -15029,7 +15034,9 @@ which can be run independently. ...@@ -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.: You can compile and run individual tests by passing "jit.exp=TESTNAME" to RUNTESTFLAGS e.g.:
@example @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 @end example
@noindent @noindent
...@@ -15056,7 +15063,10 @@ and once a test has been compiled, you can debug it directly: ...@@ -15056,7 +15063,10 @@ and once a test has been compiled, you can debug it directly:
@subsection Running under valgrind @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 environment (with any value). If it is present, it runs the test client
code under valgrind@footnote{http://valgrind.org}, code under valgrind@footnote{http://valgrind.org},
specifcally, the default specifcally, the default
......
...@@ -103,7 +103,9 @@ and detailed logs in: ...@@ -103,7 +103,9 @@ and detailed logs in:
jit/build/gcc/testsuite/jit/jit.log 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 .. code-block:: console
...@@ -115,7 +117,9 @@ You can compile and run individual tests by passing "jit.exp=TESTNAME" to RUNTES ...@@ -115,7 +117,9 @@ You can compile and run individual tests by passing "jit.exp=TESTNAME" to RUNTES
.. code-block:: console .. 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: 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: ...@@ -130,7 +134,7 @@ and once a test has been compiled, you can debug it directly:
Running under valgrind 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 environment (with any value). If it is present, it runs the test client
code under `valgrind <http://valgrind.org>`_, code under `valgrind <http://valgrind.org>`_,
specifcally, the default specifcally, the default
......
2017-10-31 David Malcolm <dmalcolm@redhat.com> 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 * g++.dg/cpp0x/auto21.C: Update dg-error to reflect addition of
quotes. quotes.
* g++.dg/cpp0x/missing-initializer_list-include.C: Likewise. * g++.dg/cpp0x/missing-initializer_list-include.C: Likewise.
......
...@@ -580,6 +580,15 @@ proc jit-dg-test { prog do_what extra_tool_flags } { ...@@ -580,6 +580,15 @@ proc jit-dg-test { prog do_what extra_tool_flags } {
verbose "$name is not meant to generate a reproducer" 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] return [list $comp_output $output_file]
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment