py-type.exp: Do not run tests if binary fails to build
authorSimon Marchi <simon.marchi@ericsson.com>
Wed, 30 Sep 2015 14:04:17 +0000 (10:04 -0400)
committerSimon Marchi <simon.marchi@ericsson.com>
Wed, 30 Sep 2015 14:04:33 +0000 (10:04 -0400)
I noticed this while working on the test case.  I believe it would make
sense to skip running the tests if the binary failed to build.  Although
I would understand the opposite argument: if the binary does not build
for some reason, we probably want to know about it, and some catastrophic
failures in the tests might alarm us better than a timid "UNTESTED".

gdb/testsuite/ChangeLog:

* gdb.python/py-type.exp: Do not run tests if binaries fail to
build.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.python/py-type.exp

index d530c25335eb3ec6d47c269b95abf4802eafef38..7e7e8f61b0547e88ebfa6f5ed7920d4668300f34 100644 (file)
@@ -1,3 +1,8 @@
+2015-09-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * gdb.python/py-type.exp: Do not run tests if binaries fail to
+       build.
+
 2015-09-30  Markus Metzger  <markus.t.metzger@intel.com>
 
        * gdb.btrace/tsx.exp: Consider multiple correct outputs in the record
index 58a2394da70ccba3909f6231600ef758b0bf40f7..ce6eddeaffc1449d436ce58ef09ec26a3dc62346 100644 (file)
@@ -32,6 +32,8 @@ proc build_inferior {exefile lang} {
       untested "Couldn't compile ${srcfile} in $lang mode"
       return -1
   }
+
+  return 0
 }
 
 # Restart GDB.
@@ -241,35 +243,38 @@ proc test_template {} {
 }
 
 # Perform C Tests.
-build_inferior "${binfile}" "c"
-restart_gdb "${binfile}"
+if { [build_inferior "${binfile}" "c"] == 0 } {
+  restart_gdb "${binfile}"
 
-# Skip all tests if Python scripting is not enabled.
-if { [skip_python_tests] } { continue }
+  # Skip all tests if Python scripting is not enabled.
+  if { [skip_python_tests] } { continue }
 
-gdb_test "python print(gdb.lookup_type('char').array(1, 0))" \
-    "char \\\[0\\\]"
+  gdb_test "python print(gdb.lookup_type('char').array(1, 0))" \
+      "char \\\[0\\\]"
 
-gdb_test "python print(gdb.lookup_type('char').array(1, -1))" \
-    "Array length must not be negative.*"
+  gdb_test "python print(gdb.lookup_type('char').array(1, -1))" \
+      "Array length must not be negative.*"
 
-gdb_test "python print(gdb.lookup_type('int').optimized_out())" \
-    "<optimized out>"
+  gdb_test "python print(gdb.lookup_type('int').optimized_out())" \
+      "<optimized out>"
 
-with_test_prefix "lang_c" {
-    runto_bp "break to inspect struct and array."
-    test_fields "c"
-    test_enums
+  with_test_prefix "lang_c" {
+      runto_bp "break to inspect struct and array."
+      test_fields "c"
+      test_enums
+  }
 }
 
+
 # Perform C++ Tests.
-build_inferior "${binfile}-cxx" "c++"
-restart_gdb "${binfile}-cxx"
-with_test_prefix "lang_cpp" {
-    runto_bp "break to inspect struct and array."
-    test_fields "c++"
-    test_base_class
-    test_range
-    test_template
-    test_enums
+if { [build_inferior "${binfile}-cxx" "c++"] == 0 } {
+  restart_gdb "${binfile}-cxx"
+  with_test_prefix "lang_cpp" {
+      runto_bp "break to inspect struct and array."
+      test_fields "c++"
+      test_base_class
+      test_range
+      test_template
+      test_enums
+  }
 }