-# Copyright (C) 2011-2012 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
set GDBFLAGS [concat $tmp_gdbflags " -ex \"set editing on\""]
prompt_gdb_start
-gdb_test "python x = len(p); print gdb.execute(\"show prompt\", to_string = True)" \
+gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \
".*prompt is \"$gdb_prompt \".*" \
"show prompt gets the correct result"
-gdb_test "python print x, len(p)" "1 2" \
+gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \
"retrieving the prompt causes no extra prompt_hook calls"
-gdb_test "python print \"'\" + str(p\[0\]) + \"'\"" "'$gdb_prompt_fail '" \
+gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \
"prompt_hook argument is default prompt."
gdb_exit
set GDBFLAGS [concat $tmp_gdbflags " -ex \"set editing off\""]
prompt_gdb_start
-gdb_test "python x = len(p); print gdb.execute(\"show prompt\", to_string = True)" \
+gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \
".*prompt is \"$gdb_prompt \".*" \
"show prompt gets the correct result 2"
-gdb_test "python print x, len(p)" "1 2" \
+gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \
"retrieving the prompt causes no extra prompt_hook calls 2"
-gdb_test "python print \"'\" + str(p\[0\]) + \"'\"" "'$gdb_prompt_fail '" \
+gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \
"prompt_hook argument is default prompt. 2"
gdb_exit
-# Start the program running and then wait for a bit, to be sure
-# that it can be attached to.
-set testpid [eval exec $binfile &]
-exec sleep 2
-if { [istarget "*-*-cygwin*"] } {
- # testpid is the Cygwin PID, GDB uses the Windows PID, which might be
- # different due to the way fork/exec works.
- set testpid [ exec ps -e | gawk "{ if (\$1 == $testpid) print \$4; }" ]
-}
+set testpid [spawn_wait_for_attach $binfile]
-set GDBFLAGS [concat $tmp_gdbflags " -ex \"set target-async on\""]
-set GDBFLAGS [concat $GDBFLAGS " -ex \"set pagination off\""]
+set GDBFLAGS [concat $tmp_gdbflags " -ex \"set pagination off\""]
set GDBFLAGS [concat $GDBFLAGS " -ex \"set editing on\""]
set GDBFLAGS [concat $GDBFLAGS " -ex \"attach $testpid\""]
set GDBFLAGS [concat $GDBFLAGS " -ex \"continue&\""]
# sync_execution = 1 is_running = 1
prompt_gdb_start
-gdb_test "python x = len(p); print gdb.execute(\"show prompt\", to_string = True)" \
+gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \
".*prompt is \"$gdb_prompt \".*" \
"show prompt gets the correct result 3"
-gdb_test "python print x, len(p)" "1 2" \
+gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \
"retrieving the prompt causes no extra prompt_hook calls 3"
-gdb_test "python print \"'\" + str(p\[0\]) + \"'\"" "'$gdb_prompt_fail '" \
+gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \
"prompt_hook argument is default prompt. 3"
gdb_exit
-set GDBFLAGS [concat $tmp_gdbflags " -ex \"set target-async on\""]
-set GDBFLAGS [concat $GDBFLAGS " -ex \"set pagination off\""]
+set GDBFLAGS [concat $tmp_gdbflags " -ex \"set pagination off\""]
set GDBFLAGS [concat $GDBFLAGS " -ex \"set editing on\""]
set GDBFLAGS [concat $GDBFLAGS " -ex \"attach $testpid\""]
set GDBFLAGS [concat $GDBFLAGS " -ex \"interrupt\""]
# sync_execution = 1 is_running = 0
prompt_gdb_start
-gdb_test "python x = len(p); print gdb.execute(\"show prompt\", to_string = True)" \
+gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \
".*prompt is \"$gdb_prompt \".*" \
"show prompt gets the correct result 4"
-gdb_test "python print x, len(p)" "1 2" \
+gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \
"retrieving the prompt causes no extra prompt_hook calls 4"
-gdb_test "python print \"'\" + str(p\[0\]) + \"'\"" "'$gdb_prompt_fail '" \
+gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \
"prompt_hook argument is default prompt. 4"
gdb_exit
set GDBFLAGS $saved_gdbflags
+exec kill -9 ${testpid}
return 0