aboutsummaryrefslogtreecommitdiff
path: root/gdb/selftest-arch.c
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2017-08-18 09:20:43 +0100
committerYao Qi <yao.qi@linaro.org>2017-08-18 09:20:43 +0100
commit6d580b635f8963183540b816b20bb9c240154497 (patch)
tree4f5c35be79f4293a8c716415ba104debe1a27160 /gdb/selftest-arch.c
parent86dcbf50fe5f59fbc35f38f02ab6c1803c29f383 (diff)
downloadgdb-6d580b635f8963183540b816b20bb9c240154497.zip
gdb-6d580b635f8963183540b816b20bb9c240154497.tar.gz
gdb-6d580b635f8963183540b816b20bb9c240154497.tar.bz2
GDBserver self tests
This patch uses GDB self test in GDBserver. The self tests are run if GDBserver is started with option --selftest. gdb: 2017-08-18 Yao Qi <yao.qi@linaro.org> * NEWS: Mention GDBserver's new option "--selftest". * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c. * selftest.c: Move it to common/selftest.c. * selftest.h: Move it to common/selftest.h. * selftest-arch.c (reset): New function. (tests_with_arch): Call reset. gdb/gdbserver: 2017-08-18 Yao Qi <yao.qi@linaro.org> * Makefile.in (OBS): Add selftest.o. * configure.ac: AC_DEFINE GDB_SELF_TEST if $development. * configure, config.in: Re-generated. * server.c: Include common/sefltest.h. (captured_main): Handle option --selftest. gdb/testsuite: 2017-08-18 Yao Qi <yao.qi@linaro.org> * gdb.server/unittest.exp: New. gdb/doc: 2017-08-18 Yao Qi <yao.qi@linaro.org> * gdb.texinfo (Server): Document "--selftest".
Diffstat (limited to 'gdb/selftest-arch.c')
-rw-r--r--gdb/selftest-arch.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/gdb/selftest-arch.c b/gdb/selftest-arch.c
index dfcbe27..9a19f76 100644
--- a/gdb/selftest-arch.c
+++ b/gdb/selftest-arch.c
@@ -33,6 +33,14 @@ register_test_foreach_arch (self_test_foreach_arch_function *function)
gdbarch_tests.push_back (function);
}
+void
+reset ()
+{
+ /* Clear GDB internal state. */
+ registers_changed ();
+ reinit_frame_cache ();
+}
+
static void
tests_with_arch ()
{
@@ -82,9 +90,7 @@ tests_with_arch ()
}
END_CATCH
- /* Clear GDB internal state. */
- registers_changed ();
- reinit_frame_cache ();
+ reset ();
}
}