-# Copyright (C) 1998 Free Software Foundation, Inc.
+# Copyright 1998, 2007-2012 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
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-if [istarget "m68k-*-elf"] then {
- pass "Test not supported on this target"
- return;
-}
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
load_lib "trace-support.exp"
-if $tracelevel then {
- strace $tracelevel
-}
-
-set prms_id 0
-set bug_id 0
set testfile "circ"
set srcfile ${testfile}.c
set binfile $objdir/$subdir/$testfile
if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
- executable {debug additional_flags=-w}] != "" } {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+ executable {debug nowarnings}] != "" } {
+ untested circ.exp
+ return -1
}
# Tests:
# return 0 for success, 1 for failure
proc trace_buffer_normal { } {
- if [gdb_test "maint packet QTBuffer:size:ffffffff" \
- "received: .OK." ""] then {
- pass "This test cannot be run on this target"
+ global gdb_prompt
+
+ set ok 0
+ set test "maint packet QTBuffer:size:ffffffff"
+ gdb_test_multiple $test $test {
+ -re "received: .OK.\r\n$gdb_prompt $" {
+ set ok 1
+ pass $test
+ }
+ -re "\r\n$gdb_prompt $" {
+ }
+ }
+ if { !$ok } {
+ unsupported $test
return 1;
}
- if [gdb_test "maint packet QTBuffer:circular:0" \
- "received: .OK." ""] then {
- pass "This test cannot be run on this target"
+
+ set ok 0
+ set test "maint packet QTBuffer:circular:0"
+ gdb_test_multiple $test $test {
+ -re "received: .OK.\r\n$gdb_prompt $" {
+ set ok 1
+ pass $test
+ }
+ -re "\r\n$gdb_prompt $" {
+ }
+ }
+ if { !$ok } {
+ unsupported $test
return 1;
}
+
return 0;
}
# return 0 for success, 1 for failure
proc gdb_trace_circular_tests { } {
-
- # We generously give ourselves one "pass" if we successfully
- # detect that this test cannot be run on this target!
if { ![gdb_target_supports_trace] } then {
- pass "Current target does not supporst trace"
+ unsupported "Current target does not support trace"
return 1;
}
if [trace_buffer_normal] then { return 1; }
- gdb_test "break begin" "" ""
- gdb_test "break end" "" ""
- gdb_test "tstop" "" ""
- gdb_test "tfind none" "" ""
+ gdb_test "break begin" ".*" ""
+ gdb_test "break end" ".*" ""
+ gdb_test "tstop" ".*" ""
+ gdb_test "tfind none" ".*" ""
if [setup_tracepoints] then { return 1; }
gdb_reinitialize_dir $srcdir/$subdir
gdb_load $binfile
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
+gdb_test_no_output "set circular-trace-buffer on" \
+ "set circular-trace-buffer on"
+
+gdb_test "show circular-trace-buffer" "Target's use of circular trace buffer is on." "show circular-trace-buffer (on)"
+
+gdb_test_no_output "set circular-trace-buffer off" \
+ "set circular-trace-buffer off"
+
+gdb_test "show circular-trace-buffer" "Target's use of circular trace buffer is off." "show circular-trace-buffer (off)"
+
# Body of test encased in a proc so we can return prematurely.
if { ![gdb_trace_circular_tests] } then {
# Set trace buffer attributes back to normal
}
# Finished!
-gdb_test "tfind none" "" ""
+gdb_test "tfind none" ".*" ""