#   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 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, see <http://www.gnu.org/licenses/>.

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

load_lib "trace-support.exp";


gdb_exit
gdb_start
set testfile "actions"
set srcfile ${testfile}.c
set binfile $objdir/$subdir/passcount
if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
	  executable {debug nowarnings}] != "" } {
    untested passcount.exp
    return -1
}
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 + 3]

#
# test "passcount" command
#

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;
}

# 4.1 passcount of specified tracepoint

gdb_test "info tracepoints" \
    "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+" \
			"4.1a: set three tracepoints, passcounts all zero"

gdb_test "passcount 2 $trcpt1" \
	"Setting tracepoint $trcpt1.s passcount to 2" \
	"4.1b: set 1st tracepoint's passcount to two"

gdb_test "info tracepoints" \
    "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 2 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+" \
	"4.1c: verify 1st tracepoint's passcount set to two"

gdb_test "passcount 4 $trcpt2" \
	"Setting tracepoint $trcpt2.s passcount to 4" \
	"4.1d: set 2nd tracepoint's passcount to four"

gdb_test "info tracepoints" \
    "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 2 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 4 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+" \
	"4.1c: verify 2nd tracepoint's passcount set to four"

# 4.2 passcount of last (default) tracepoint

gdb_test "passcount 6" \
	"Setting tracepoint $trcpt3.s passcount to 6" \
	"4.2b: set last (default) tp's passcount to six"

gdb_test "info tracepoints" \
    "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 2 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 4 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 6 .*" \
	"4.2b: verify last (default) tp's passcount set to six"

# 4.3 run until stopped explicitly by user
#     [deferred to dynamic test section]

# 4.4 reset the previously set passcounts to new values

gdb_test "passcount 7" \
	"Setting tracepoint $trcpt3.s passcount to 7" \
	"4.4a: reset last (default) tp's passcount to seven"

gdb_test "info tracepoints" \
    "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 2 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 4 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 7 .*" \
	"4.4a: verify reset last (default) tp's passcount to seven"

gdb_test "passcount 5 $trcpt2" \
	"Setting tracepoint $trcpt2.s passcount to 5" \
	"4.4b: reset second tracepoint's passcount to five"

gdb_test "info tracepoints" \
    "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 2 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 5 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 7 .*" \
	"4.4c: verify reset second tracepoint's passcount to five"

# 4.20 <FIXME test number> passcount for "all"

gdb_test "passcount 3 all" \
	".*$trcpt1.s pass.* 3.*$trcpt2.s pass.* 3.*$trcpt3.s pass.* 3" \
	"4.20a: set all three passcounts to three"

gdb_test "info tracepoints" \
    "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 3 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 3 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 3 .*"  \
	"4.20a: set all three passcounts to three"

gdb_test "passcount 4 all" \
	".*$trcpt1.s pass.* 4.*$trcpt2.s pass.* 4.*$trcpt3.s pass.* 4" \
	"4.20a: reset all three passcounts to four"

gdb_test "info tracepoints" \
    "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 4 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 4 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 4 .*"  \
	"4.20b: reset all three passcounts to four"

# 4.5 Verify trace stops on first "satisfied" passcount
#     [deferred to dynamic test section]

# 4.6 minimum passcount boundary condition

gdb_test "passcount 0 $trcpt1" \
	"Setting tracepoint $trcpt1.s passcount to 0" \
	"4.6: set passcount to zero"

gdb_test "info tracepoints" \
    "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 4 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 4 .*"  \
	"4.6: set passcount to zero"

# 4.7 (test a very large passcount)

gdb_test "passcount 32767 $trcpt1" \
	"Setting tracepoint $trcpt1.s passcount to 32767" \
	"4.7: set passcount to large number (32767)"

gdb_test "info tracepoints" \
    "Num     Type\[ \]+Disp Enb Address\[ \]+What.*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 32767 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 4 .*
\[0-9\]+\[\t \]+tracepoint     keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
\[\t \]+pass count 4 .*"  \
	"4.7: set passcount to large number (32767)"

# 4.8 set passcount for invalid tracepoint

gdb_test "passcount 1 [expr $trcpt2 + $trcpt3]" \
	"No tracepoint number [expr $trcpt2 + $trcpt3]." \
	"4.8: invalid tracepoint number in passcount"

# 4.9 help passcount
gdb_test "help passcount" "Set the passcount for a tracepoint.*" \
	"4.9: help passcount"
