This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Clear GDB internal state after each unit test
- From: Yao Qi <qiyao at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 24 May 2017 21:18:08 -0000
- Subject: [binutils-gdb] Clear GDB internal state after each unit test
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7a3929c417b1388c689a0cd6b0b2f6579d85ec78
commit 7a3929c417b1388c689a0cd6b0b2f6579d85ec78
Author: Yao Qi <yao.qi@linaro.org>
Date: Wed May 24 22:15:22 2017 +0100
Clear GDB internal state after each unit test
GDB has some global variables, like sentinel_frame,
current_thread_arch, and etc, we need to reset them after each unit
tests.
gdb:
2017-05-24 Yao Qi <yao.qi@linaro.org>
* selftest-arch.c (tests_with_arch): Call registers_changed
and reinit_frame_cache.
* selftest.c (run_self_tests): Likewise.
Diff:
---
gdb/ChangeLog | 6 ++++++
gdb/selftest-arch.c | 4 ++++
gdb/selftest.c | 4 ++++
3 files changed, 14 insertions(+)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a96e71f..e5222c6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2017-05-24 Yao Qi <yao.qi@linaro.org>
+ * selftest-arch.c (tests_with_arch): Call registers_changed
+ and reinit_frame_cache.
+ * selftest.c (run_self_tests): Likewise.
+
+2017-05-24 Yao Qi <yao.qi@linaro.org>
+
* rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
(rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
diff --git a/gdb/selftest-arch.c b/gdb/selftest-arch.c
index cbc8c50..c4fe60d 100644
--- a/gdb/selftest-arch.c
+++ b/gdb/selftest-arch.c
@@ -81,6 +81,10 @@ tests_with_arch ()
_("Self test failed: arch %s: "), arches[i]);
}
END_CATCH
+
+ /* Clear GDB internal state. */
+ registers_changed ();
+ reinit_frame_cache ();
}
}
diff --git a/gdb/selftest.c b/gdb/selftest.c
index adc7dda..14b76f6 100644
--- a/gdb/selftest.c
+++ b/gdb/selftest.c
@@ -53,6 +53,10 @@ run_self_tests (void)
exception_fprintf (gdb_stderr, ex, _("Self test failed: "));
}
END_CATCH
+
+ /* Clear GDB internal state. */
+ registers_changed ();
+ reinit_frame_cache ();
}
printf_filtered (_("Ran %lu unit tests, %d failed\n"),