* 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.
This commit is contained in:
Doug Evans 2013-08-07 23:51:45 +00:00
parent b93601f320
commit ac52f9a22a
4 changed files with 34 additions and 6 deletions

View File

@ -1,3 +1,10 @@
2013-08-07 Doug Evans <dje@google.com>
* 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.
2013-08-07 Tom Tromey <tromey@redhat.com>
* gdb.base/maint.exp: Allow zero symtabs to be expanded.

View File

@ -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

View File

@ -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++"
}