#   Copyright 1998, 1999 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
# (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

# This file was written by Michael Snyder (msnyder@cygnus.com)

load_lib "trace-support.exp";

if $tracelevel then {
    strace $tracelevel
}

set prms_id 0
set bug_id 0

gdb_exit
gdb_start

if [istarget "m68k-*-elf"] then {
    set srcfile gdb_c_test.c
    set binfile [board_info target d490_binfile];
} else {
    set testfile "actions"
    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."
    }
}
gdb_reinitialize_dir $srcdir/$subdir

# If testing on a remote host, download the source file.
# remote_download host $srcdir/$subdir/$srcfile

gdb_file_cmd $binfile

# define relative source line numbers:
# all subsequent line numbers are relative to this first one (baseline)
set baseline [gdb_find_recursion_test_baseline $srcfile];
if { $baseline == -1 } then {
    fail "Could not find gdb_recursion_test function"
    return;
}
set testline1 [expr $baseline + 4]

#
# test "delete tracepoints" command
#

# 3.1 delete tracepoints (all)
gdb_delete_tracepoints
gdb_test "trace gdb_c_test"   "Tracepoint \[0-9\]+ at .*" "set tracepoint 1"
gdb_test "trace gdb_asm_test" "Tracepoint \[0-9\]+ at .*" "set tracepoint 2"
gdb_test "trace $testline1"   "Tracepoint \[0-9\]+ at .*" "set tracepoint 3"

gdb_test "info tracepoints" \
    "Num Enb Address\[ \]+PassC StepC What.*\[0-9\]+\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*\[0-9\]+\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*\[0-9\]+\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_recursion_test.*" \
			"3.1a: set three tracepoints"

send_gdb "delete tracepoints\n"
gdb_expect 30 {
    -re "Delete all tracepoints.*y or n.*$" {
	send_gdb "y\n"
	gdb_expect 30 {
	    -re "$gdb_prompt $" {
		pass "3.1b: delete all tracepoints"
	    }
	    timeout { fail "3.1b: delete all tracepoints (timeout)" }
	}
    }
    -re "$gdb_prompt $" { # This should only happen if there are no tracepoints
	fail "3.1b: delete all tracepoints (no tracepoints?)"
    }
    timeout { fail "3.1b: delete all tracepoints (timeout)" }
}

# 3.2 delete tracepoint <n>
gdb_delete_tracepoints
set trcpt1 [gdb_gettpnum gdb_c_test];
set trcpt2 [gdb_gettpnum gdb_asm_test];
set trcpt3 [gdb_gettpnum $testline1];
if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then {
    fail "setting tracepoints"
    return;
}

gdb_test "info tracepoints" \
    "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in.*gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in.*gdb_recursion_test.*" \
			"3.2a: set three tracepoints"

#gdb_test "delete tracepoint $trcpt1" "" ""
send_gdb "delete tracepoint $trcpt1\n"
gdb_expect {
    -re "No tracepoint number.*$gdb_prompt $" {
	fail "3.2b: delete first tracepoint"
    }
    -re ".*\[Ee\]rror.*$gdb_prompt $" {
	fail "3.2b: delete first tracepoint"
    }
    -re "$gdb_prompt $" {
	pass "3.2b: delete first tracepoint"
    }
    timeout {
	fail "3.2b: delete first tracepoint (timeout)"
    }
}

send_gdb "info tracepoints\n"
gdb_expect {
    -re "$trcpt1\[\t \]+y\[\t \]+0x.*in.*gdb_c_test.*$gdb_prompt $" {
	fail "3.2c: verify delete first tracepoint (argh)"
    }
    -re "$trcpt2\[\t \]+y.*gdb_asm_test.*\[\r\n\t ]+$trcpt3\[\t \]+y.* in gdb_recursion_test at .*$gdb_prompt $" {
	pass "3.2c: verify delete first tracepoint"
    }
    -re ".*$gdb_prompt $" {
	fail "3.2c: verify delete first tracepoint (mumble)" 
    }
    timeout {
	fail "3.2c: verify delete first tracepoint (timeout)"
    }
}

#gdb_test "delete tracepoint $trcpt2" "" ""
send_gdb "delete tracepoint $trcpt2\n"
gdb_expect {
    -re "No tracepoint number.*$gdb_prompt $" {
	fail "3.2d: delete second tracepoint"
    }
    -re ".*\[Ee\]rror.*$gdb_prompt $" {
	fail "3.2d: delete second tracepoint"
    }
    -re "$gdb_prompt $" {
	pass "3.2d: delete second tracepoint"
    }
    timeout {
	fail "3.2d: delete second tracepoint (timeout)"
    }
}

send_gdb "info tracepoints\n"
gdb_expect {
    -re "$trcpt1\[\t \]+y\[\t \]+0x.*in.*gdb_c_test.*$gdb_prompt $" {
	fail "3.2e: verify delete second tracepoint"
    }
    -re "$trcpt2\[\t \]+y\[\t \]+0x.*in gdb_asm_test.*$gdb_prompt $" {
	fail "3.2e: verify delete second tracepoint"
    }
    -re "$trcpt3\[\t \]+y\[\t \]+0x.*in gdb_recursion_test.*$gdb_prompt $" {
	pass "3.2e: verify delete second tracepoint"
    }
    -re "$gdb_prompt $" {
	fail "3.2e: verify delete second tracepoint" 
    }
    timeout {
	fail "3.2e: verify delete second tracepoint (timeout)"
    }
}

#gdb_test "delete tracepoint $trcpt3" "" ""
send_gdb "delete tracepoint $trcpt3\n"
gdb_expect {
    -re "No tracepoint number.*$gdb_prompt $" {
	fail "3.2f: delete third tracepoint"
    }
    -re ".*\[Ee\]rror.*$gdb_prompt $" {
	fail "3.2f: delete third tracepoint"
    }
    -re "$gdb_prompt $" {
	pass "3.2f: delete third tracepoint"
    }
    timeout {
	fail "3.2f: delete third tracepoint (timeout)"
    }
}

# send_gdb "ARF! \\n\n"
send_gdb "info tracepoints\n"
gdb_expect {
    -re "$trcpt3\[\t \]+y\[\t \]+0x.*in gdb_recursion_test.*$gdb_prompt $" {
	fail "3.2g: verify delete third tracepoint"
    }
    -re "$gdb_prompt $" {
	pass "3.2g: verify delete third tracepoint"
    }
    timeout {
	fail "3.2g: verify delete third tracepoint (timeout)" 
    }
}

# 3.3 delete three tracepoints at once
gdb_delete_tracepoints
set trcpt1 [gdb_gettpnum gdb_c_test];
set trcpt2 [gdb_gettpnum gdb_asm_test];
set trcpt3 [gdb_gettpnum $testline1];
if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then {
    fail "setting tracepoints"
    return;
}

gdb_test "info tracepoints" \
    "Num Enb Address\[ \]+PassC StepC What.*$trcpt1\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*$trcpt2\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*$trcpt3\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_recursion_test.*" \
			"3.3a: set three tracepoints"

#gdb_test "delete tracepoint $trcpt1 $trcpt2 $trcpt3" "" ""
send_gdb "delete tracepoint $trcpt1 $trcpt2 $trcpt3\n"
gdb_expect {
    -re "No tracepoint number.*$gdb_prompt $" {
	fail "3.3b: delete three tracepoints"
    }
    -re ".*\[Ee\]rror.*$gdb_prompt $" {
	fail "3.3b: delete three tracepoints"
    }
    -re "$gdb_prompt $" {
	pass "3.3b: delete three tracepoints"
    }
    timeout {
	fail "3.3b: delete three tracepoint (timeout)"
    }
}

send_gdb "info tracepoints\n"
gdb_expect {
    -re "$trcpt1\[\t \]+y\[\t \]+0x.*in gdb_c_test.*$gdb_prompt $" {
	fail "3.3c: verify delete three tracepoints (first one persists)"
    }
    -re "$trcpt2\[\t \]+y\[\t \]+0x.*in gdb_asm_test.*$gdb_prompt $" {
	fail "3.3c: verify delete three tracepoints (second one persists)"
    }
    -re "$trcpt3\[\t \]+y\[\t \]+0x.*in gdb_recursion_test.*$gdb_prompt $" {
	fail "3.3c: verify delete three tracepoints (third one persists)"
    }
    -re "$gdb_prompt $" {
	pass "3.3c: verify delete three tracepoints" 
    }
    timeout { 
	fail "3.3c: verify delete three tracepoints (timeout)"
    }
}

# 3.4 delete invalid tracepoint number
gdb_test "delete tracepoint [expr $trcpt2 + $trcpt3]" \
    "No tracepoint number [expr $trcpt2 + $trcpt3]." \
			"3.4: delete invalid tracepoint number"

# 3.5 delete tracepoint number zero
gdb_test "delete tracepoint 0" "bad tracepoint number at or near '0'" \
			"3.5: delete tracepoint number zero"

# 3.6 help delete tracepoints
gdb_test "help delete tracepoints" \
    "Delete specified tracepoints.*" \
			"3.6: help delete tracepoints"
