This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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"),


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]