diff options
author | Doug Evans <dje@google.com> | 2013-08-07 23:51:44 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2013-08-07 23:51:44 +0000 |
commit | 95447658c333a192ba427d6f0ac87721576e7b38 (patch) | |
tree | 2209ee0ee2cabccc57e97cc4ac2d0ba2257424c2 /gdb/testsuite/gdb.python | |
parent | ba14c8238e57241250d768d3472533293c55de8d (diff) | |
download | gdb-95447658c333a192ba427d6f0ac87721576e7b38.tar.gz |
* gdb.python/py-value-cc.cc: Renamed from py-value.cc.
* gdb.python/py-value-cc.exp: Update.
* gdb.python/py-value.exp: Use different names for .o files for
C and C++. Only perform C++ tests if !skip_cplus_tests.
Diffstat (limited to 'gdb/testsuite/gdb.python')
-rw-r--r-- | gdb/testsuite/gdb.python/py-value-cc.cc (renamed from gdb/testsuite/gdb.python/py-value.cc) | 0 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-value-cc.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-value.exp | 31 |
3 files changed, 27 insertions, 6 deletions
diff --git a/gdb/testsuite/gdb.python/py-value.cc b/gdb/testsuite/gdb.python/py-value-cc.cc index c010fc98d8b..c010fc98d8b 100644 --- a/gdb/testsuite/gdb.python/py-value.cc +++ b/gdb/testsuite/gdb.python/py-value-cc.cc diff --git a/gdb/testsuite/gdb.python/py-value-cc.exp b/gdb/testsuite/gdb.python/py-value-cc.exp index 914dbaa7b36..55c3b970cc4 100644 --- a/gdb/testsuite/gdb.python/py-value-cc.exp +++ b/gdb/testsuite/gdb.python/py-value-cc.exp @@ -18,7 +18,7 @@ if { [skip_cplus_tests] } { continue } -standard_testfile py-value.cc +standard_testfile .cc if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} { return -1 diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp index 9142c729927..4f863a6c91b 100644 --- a/gdb/testsuite/gdb.python/py-value.exp +++ b/gdb/testsuite/gdb.python/py-value.exp @@ -21,13 +21,26 @@ load_lib gdb-python.exp standard_testfile # Build inferior to language specification. +# LANG is one of "c" or "c++". proc build_inferior {exefile lang} { global srcdir subdir srcfile testfile hex - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${exefile}" executable "debug $lang"] != "" } { + # Use different names for .o files based on the language. + # For Fission, the debug info goes in foo.dwo and we don't want, + # for example, a C++ compile to clobber the dwo of a C compile. + # ref: http://gcc.gnu.org/wiki/DebugFission + switch ${lang} { + "c" { set filename ${testfile}.o } + "c++" { set filename ${testfile}-cxx.o } + } + set objfile [standard_output_file $filename] + + if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object "debug $lang"] != "" + || [gdb_compile "${objfile}" "${exefile}" executable "debug $lang"] != "" } { untested "Couldn't compile ${srcfile} in $lang mode" return -1 } + return 0 } proc test_value_creation {} { @@ -463,9 +476,10 @@ proc test_value_hash {} { gdb_test "python print (one.__hash__() == hash(one))" "True" "Test inbuilt hash" } -# Build C and C++ versions of executable -build_inferior "${binfile}" "c" -build_inferior "${binfile}-cxx" "c++" +# Build C version of executable. C++ is built later. +if { [build_inferior "${binfile}" "c"] < 0 } { + return -1 +} # Start with a fresh gdb. clean_restart ${binfile} @@ -494,5 +508,12 @@ test_lazy_strings test_value_after_death # Test either C or C++ values. + test_subscript_regression "${binfile}" "c" -test_subscript_regression "${binfile}-cxx" "c++" + +if ![skip_cplus_tests] { + if { [build_inferior "${binfile}-cxx" "c++"] < 0 } { + return -1 + } + test_subscript_regression "${binfile}-cxx" "c++" +} |