aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.python/py-value.exp
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2019-09-15 21:53:11 -0400
committerAndrew Burgess <andrew.burgess@embecosm.com>2019-10-03 17:48:03 +0100
commit082cce059d78bdb4a9fadbbacc2cd1dc3668f084 (patch)
tree7130b0b97238ca89961999ec1a29cbe70b3cc0cd /gdb/testsuite/gdb.python/py-value.exp
parent2b74ba5a194fdfb152465e786a173b039e28964a (diff)
downloadgdb-082cce059d78bdb4a9fadbbacc2cd1dc3668f084.zip
gdb-082cce059d78bdb4a9fadbbacc2cd1dc3668f084.tar.gz
gdb-082cce059d78bdb4a9fadbbacc2cd1dc3668f084.tar.bz2
gdb/testsuite: Reduce test name duplication in gdb.python tests
This commit removes some, but not all, of the test name duplication within the gdb.python tests. On my local machine this takes the number of duplicate test names in this set of tests from 174 to 85. It is possible that different setups might encounter more duplicate tests. gdb/testsuite/ChangeLog: * gdb.python/py-parameter.exp: Make test names unique. * gdb.python/py-template.exp: Likewise. * gdb.python/py-value.exp: Likewise.
Diffstat (limited to 'gdb/testsuite/gdb.python/py-value.exp')
-rw-r--r--gdb/testsuite/gdb.python/py-value.exp58
1 files changed, 33 insertions, 25 deletions
diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp
index 51edfa3..4493980 100644
--- a/gdb/testsuite/gdb.python/py-value.exp
+++ b/gdb/testsuite/gdb.python/py-value.exp
@@ -189,9 +189,9 @@ proc test_value_boolean {} {
gdb_test "py test_bool (gdb.Value (0))" "nay" "check evaluation of false integer value in expression"
- gdb_test "py test_bool (gdb.Value (5.2))" "yay" "check evaluation of true integer value in expression"
+ gdb_test "py test_bool (gdb.Value (5.2))" "yay" "check evaluation of true float value in expression"
- gdb_test "py test_bool (gdb.Value (0.0))" "nay" "check evaluation of false integer value in expression"
+ gdb_test "py test_bool (gdb.Value (0.0))" "nay" "check evaluation of false float value in expression"
}
proc test_value_compare {} {
@@ -232,13 +232,12 @@ proc test_value_in_inferior {} {
global gdb_py_is_py3k
gdb_breakpoint [gdb_get_line_number "break to inspect struct and union"]
-
gdb_continue_to_breakpoint "break to inspect struct and union"
# Just get inferior variable s in the value history, available to python.
gdb_test "print s" " = {a = 3, b = 5}" ""
- gdb_py_test_silent_cmd "python s = gdb.history (0)" "get value from history" 1
+ gdb_py_test_silent_cmd "python s = gdb.history (0)" "get value s from history" 1
gdb_test "python print ('result = ' + str(s\['a'\]))" " = 3" "access element inside struct using 8-bit string name"
if { $gdb_py_is_py3k == 0 } {
@@ -290,17 +289,23 @@ proc test_value_in_inferior {} {
} else {
gdb_test "python inval = gdb.parse_and_eval('*(int*)0')"
gdb_test "python print (inval.is_lazy)" "True"
- gdb_test "python inval2 = inval+1" "gdb.MemoryError: Cannot access memory at address 0x0.*" $test
- gdb_test "python inval.fetch_lazy ()" "gdb.MemoryError: Cannot access memory at address 0x0.*" $test
+ gdb_test "python inval2 = inval+1" \
+ "gdb.MemoryError: Cannot access memory at address 0x0.*" \
+ "$test, first test"
+ gdb_test "python inval.fetch_lazy ()" \
+ "gdb.MemoryError: Cannot access memory at address 0x0.*" \
+ "$test, second test"
}
set argc_value [get_integer_valueof "argc" 0]
gdb_test "python argc_lazy = gdb.parse_and_eval('argc')"
gdb_test "python argc_notlazy = gdb.parse_and_eval('argc')"
gdb_test "python argc_notlazy.fetch_lazy()"
- gdb_test "python print (argc_lazy.is_lazy)" "True"
+ gdb_test "python print (argc_lazy.is_lazy)" "True" \
+ "python print (argc_lazy.is_lazy) the first time"
gdb_test "python print (argc_notlazy.is_lazy)" "False"
gdb_test "print argc" " = $argc_value" "sanity check argc"
- gdb_test "python print (argc_lazy.is_lazy)" "\r\nTrue"
+ gdb_test "python print (argc_lazy.is_lazy)" "\r\nTrue" \
+ "python print (argc_lazy.is_lazy) the second time"
gdb_test_no_output "set argc=[expr $argc_value + 1]" "change argc"
gdb_test "python print (argc_notlazy)" "\r\n$argc_value"
gdb_test "python print (argc_lazy)" "\r\n[expr $argc_value + 1]"
@@ -308,7 +313,7 @@ proc test_value_in_inferior {} {
# Test string fetches, both partial and whole.
gdb_test "print st" "\"divide et impera\""
- gdb_py_test_silent_cmd "python st = gdb.history (0)" "get value from history" 1
+ gdb_py_test_silent_cmd "python st = gdb.history (0)" "get value st from history" 1
gdb_test "python print (st.string ())" "divide et impera" "Test string with no length"
gdb_test "python print (st.string (length = -1))" "divide et impera" "test string (length = -1) is all of the string"
gdb_test "python print (st.string (length = 6))" "divide"
@@ -325,7 +330,7 @@ proc test_value_in_inferior {} {
# Fetch a string that has embedded nulls.
gdb_test "print nullst" "\"divide\\\\000et\\\\000impera\".*"
- gdb_py_test_silent_cmd "python nullst = gdb.history (0)" "get value from history" 1
+ gdb_py_test_silent_cmd "python nullst = gdb.history (0)" "get value nullst from history" 1
gdb_test "python print (nullst.string ())" "divide" "test string to first null"
# Python cannot print strings that contain the null (\0) character.
# For the purposes of this test, use repr()
@@ -350,26 +355,28 @@ proc test_inferior_function_call {} {
# Correct inferior call without arguments.
gdb_test "p/x fp1" " = $hex.*"
- gdb_py_test_silent_cmd "python fp1 = gdb.history (0)" "get value from history" 1
+ gdb_py_test_silent_cmd "python fp1 = gdb.history (0)" "get value fp1 from history" 1
gdb_test "python fp1 = fp1.dereference()" ""
gdb_test "python result = fp1()" ""
gdb_test "python print (result)" "void"
# Correct inferior call with arguments.
- gdb_test "p/x fp2" " = $hex.*"
- gdb_py_test_silent_cmd "python fp2 = gdb.history (0)" "get value from history" 1
+ gdb_test "p/x fp2" " = $hex.*" \
+ "print fp2 to place it into history"
+ gdb_py_test_silent_cmd "python fp2 = gdb.history (0)" "get value fp2 from history" 1
gdb_test "python fp2 = fp2.dereference()" ""
gdb_test "python result2 = fp2(10,20)" ""
gdb_test "python print (result2)" "30"
# Incorrect to call an int value.
gdb_test "p i" " = $decimal.*"
- gdb_py_test_silent_cmd "python i = gdb.history (0)" "get value from history" 1
+ gdb_py_test_silent_cmd "python i = gdb.history (0)" "get value i from history" 1
gdb_test "python result3 = i()" ".*Value is not callable.*"
# Incorrect number of arguments.
- gdb_test "p/x fp2" " = $hex.*"
- gdb_py_test_silent_cmd "python fp3 = gdb.history (0)" "get value from history" 1
+ gdb_test "p/x fp2" " = $hex.*" \
+ "print fp2 again to place it into history"
+ gdb_py_test_silent_cmd "python fp3 = gdb.history (0)" "get value fp3 from history" 1
gdb_test "python fp3 = fp3.dereference()" ""
gdb_test "python result2 = fp3(10)" ".*Too few arguments in function call.*"
}
@@ -451,12 +458,13 @@ proc test_subscript_regression {exefile lang} {
}
gdb_breakpoint [gdb_get_line_number "break to inspect struct and union"]
- gdb_continue_to_breakpoint "break to inspect struct and union"
+ gdb_continue_to_breakpoint \
+ "break to inspect struct and union for subscript regression test"
gdb_py_test_silent_cmd "python intv = gdb.Value(1)" \
- "Create a value for subscript test" 1
+ "Create value intv for subscript test" 1
gdb_py_test_silent_cmd "python stringv = gdb.Value(\"foo\")" \
- "Create a value for subscript test" 1
+ "Create value stringv for subscript test" 1
# Try to access an int with a subscript. This should fail.
gdb_test "python print (intv)" "1" "baseline print of an int Python value"
@@ -469,19 +477,19 @@ proc test_subscript_regression {exefile lang} {
# Try to access an int array via a pointer with a subscript. This should pass.
gdb_py_test_silent_cmd "print p" "Build pointer to array" 1
- gdb_py_test_silent_cmd "python pointer = gdb.history(0)" "" 1
+ gdb_py_test_silent_cmd "python pointer = gdb.history(0)" "fetch pointer" 0
gdb_test "python print (pointer\[0\])" "1" "access array via pointer with int subscript"
gdb_test "python print (pointer\[intv\])" "2" "access array via pointer with value subscript"
# Try to access a single dimension array with a subscript to the
# result. This should fail.
gdb_test "python print (pointer\[intv\]\[0\])" "gdb.error: Cannot subscript requested type.*" \
- "Attempt to access an integer with a subscript"
+ "Attempt to access a single dimension array with a two subscripts"
# Lastly, test subscript access to an array with multiple
# dimensions. This should pass.
gdb_py_test_silent_cmd "print {\"fu \",\"foo\",\"bar\"}" "Build array" 1
- gdb_py_test_silent_cmd "python marray = gdb.history(0)" "" 1
+ gdb_py_test_silent_cmd "python marray = gdb.history(0)" "fetch marray" 0
gdb_test "python print (marray\[1\]\[2\])" "o." "test multiple subscript"
}
@@ -505,9 +513,9 @@ proc test_value_hash {} {
"three = gdb.Value(3)" "" \
"vdict = {one:\"one str\",two:\"two str\",three:\"three str\"}" "" \
"end"
- gdb_test "python print (vdict\[one\])" "one str" "test dictionary hash"
- gdb_test "python print (vdict\[two\])" "two str" "test dictionary hash"
- gdb_test "python print (vdict\[three\])" "three str" "test dictionary hash"
+ gdb_test "python print (vdict\[one\])" "one str" "test dictionary hash for one"
+ gdb_test "python print (vdict\[two\])" "two str" "test dictionary hash for two"
+ gdb_test "python print (vdict\[three\])" "three str" "test dictionary hash for three"
gdb_test "python print (one.__hash__() == hash(one))" "True" "test inbuilt hash"
}