# Copyright 2017-2021 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 is part of the gdb testsuite.

# Test the enable/disable commands with breakpoint location ranges.

# Note: more tests involving involving disable/enable commands on
# multiple locations and breakpoints are found in
# gdb.base/ena-dis-br.exp.

if { [skip_cplus_tests] } { continue }

standard_testfile .cc

if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} {
    return -1
}

if ![runto 'marker'] then {
    return -1
}

# Returns a buffer corresponding to what GDB replies when asking for
# 'info breakpoint'.  The parameters are all the existing breakpoints
# enabled/disable value: 'n' or 'y'.

proc make_info_breakpoint_reply_re {b1 b2 b21 b22 b23 b24} {
    set ws "\[\t \]+"
    return [multi_line \
		"Num     Type${ws}Disp Enb Address${ws}What.*" \
		"1${ws}breakpoint     keep ${b1}${ws}.* in marker\\(\\) at .*" \
		"${ws}breakpoint already hit 1 time.*" \
		"2${ws}breakpoint${ws}keep${ws}${b2}${ws}<MULTIPLE>.*" \
		"2.1${ws}${b21}.*" \
		"2.2${ws}${b22}.*" \
		"2.3${ws}${b23}.*" \
		"2.4${ws}${b24}.*" \
	       ]
}

gdb_test "break foo::overload" \
    "Breakpoint \[0-9\]+ at $hex: foo::overload. .4 locations." \
    "set breakpoint at overload"

gdb_test "info break" [make_info_breakpoint_reply_re y y y y y y] \
    "breakpoint info"

# Test the enable/disable commands, and check the enable/disable state
# of the breakpoints/locations in the "info break" output.  CMD is the
# actual disable/enable command. The bNN parameters are the same as
# make_info_breakpoint_reply_re's.
proc test_enable_disable {cmd b1 b2 b21 b22 b23 b24} {
    gdb_test_no_output $cmd

    set re [make_info_breakpoint_reply_re $b1 $b2 $b21 $b22 $b23 $b24]
    gdb_test "info break" $re "breakpoint info $cmd"
}

# Check that we can disable/enable a breakpoint with a single
# location.
test_enable_disable "disable 1" n y y y y y
test_enable_disable "enable  1" y y y y y y

# Check that we can disable/disable a breakpoint with multiple
# locations.
test_enable_disable "disable 2" y n y y y y
test_enable_disable "enable  2" y y y y y y

# Check that we can disable/disable a range of breakpoints.
test_enable_disable "disable 1-2" n n y y y y
test_enable_disable "enable 1-2"  y y y y y y

# Check that we can disable/disable a list of breakpoints.
test_enable_disable "disable 1 2" n n y y y y
test_enable_disable "enable 1 2"  y y y y y y

# Check that we can disable/enable a single location breakpoint.
test_enable_disable "disable 2.2" y y y n y y
test_enable_disable "enable  2.2" y y y y y y

# Check that we can disable/enable a range of breakpoint locations.
test_enable_disable "disable 2.2-3" y y y n n y
test_enable_disable "enable  2.2-3" y y y y y y

# Check that we can disable/enable a breakpoint location range with
# START==END.
test_enable_disable "disable 2.2-2" y y y n y y
test_enable_disable "enable  2.2-2" y y y y y y

# Check that we can disable/disable a list of breakpoints that
# includes some elements with location ranges and others without.
test_enable_disable "disable 1 2.1 2.3-4" n y n y n n
test_enable_disable "enable  1 2.1 2.3-4" y y y y y y

# Check that we can disable a location breakpoint range with max >
# existing breakpoint location.
gdb_test "disable 2.3-5" "Bad breakpoint location number '5'" \
    "disable location breakpoint range with max > existing"

gdb_test "info break" [make_info_breakpoint_reply_re y y y y n n] \
    "breakpoint info disable 2.3 to 2.5"

# Check that we can enable a location breakpoint range with max >
# existing breakpoint location.
gdb_test "enable 2.3-5" "Bad breakpoint location number '5'" \
    "enable location breakpoint range with max > existing"

gdb_test "info break" [make_info_breakpoint_reply_re y y y y y y] \
    "breakpoint info enable 2.3 to 2.5"

# Check that disabling an inverted breakpoint location range does not
# work.
gdb_test "disable 2.3-2" "Inverted breakpoint location range at '3-2'"

gdb_test "info break" [make_info_breakpoint_reply_re y y y y y y] \
    "breakpoint info disable 2.3-2"

# Check that disabling an invalid breakpoint location range does not
# cause unexpected behavior.
gdb_test "disable 2.6-7" "Bad breakpoint location number '6'" \
    "disable an unvalid location breakpoint range"

gdb_test "info break" [make_info_breakpoint_reply_re y y y y y y] \
    "breakpoint info disable 2.6-7"

# Check that disabling an invalid breakpoint location range does not
# cause trouble.
gdb_test "disable 2.8-6" "Inverted breakpoint location range at '8-6'"

gdb_test "info break" [make_info_breakpoint_reply_re y y y y y y] \
    "breakpoint info disable 2.8-6"

# Check that invalid/open ranges are handled correctly.
with_test_prefix "open range" {
    gdb_test "disable -" "Bad breakpoint number at or near: '-'"
    gdb_test "disable -1" "Negative breakpoint number '-1'"
    gdb_test "disable 1-" "Bad breakpoint number at or near: '1-'"
    gdb_test "disable 1.-2" "Negative breakpoint location number '-2'"
    gdb_test "disable 1.2-" "Bad breakpoint location number at or near: '2-'"
    gdb_test "disable 1.-2-3" "Negative breakpoint location number '-2'"
    gdb_test "disable 1-2-3" "Bad breakpoint number '2-3'"
}

with_test_prefix "dangling period" {
    gdb_test "disable 2." "Bad breakpoint number at or near: '2.'"
    gdb_test "disable .2" "Bad breakpoint number at or near: '.2'"
    gdb_test "disable 2.3.4" "Bad breakpoint location number '3.4'"
}

# Check that 0s are handled correctly.
with_test_prefix "zero" {
    gdb_test "disable 0" "Bad breakpoint number '0'"
    gdb_test "disable 0.0" "Bad breakpoint number '0'"
    gdb_test "disable 0.1" "Bad breakpoint number '0'"
    gdb_test "disable 0.1-2" "Bad breakpoint number '0'"
    gdb_test "disable 2.0" "Bad breakpoint location number '0'"
    gdb_test "disable 2.0-0" "Bad breakpoint location number '0'"
    gdb_test "disable 2.0-1" "Bad breakpoint location number '0'"
    gdb_test "disable 2.1-0" "Bad breakpoint location number '0'"
}

# Test "disable BPLIST" with an invalid breakpoint/location BPLIST.
# PREFIX and SUFFIX are concatenated to form BPLIST.  The invalid part
# is always in SUFFIX.

proc disable_invalid {prefix suffix} {
    set bad_re [string_to_regexp $suffix]

    if {$prefix == ""} {
	gdb_test \
	    "disable $suffix" \
	    "Bad breakpoint number '${bad_re}'"
    } else {
	gdb_test \
	    "disable ${prefix}$suffix" \
	    "Bad breakpoint location number '${bad_re}'"
    }
}

# Like disable_invalid, but expects an "inverted range" error.

proc disable_inverted {prefix suffix} {
    set bad_re [string_to_regexp $suffix]

    if {$prefix == ""} {
	gdb_test \
	    "disable $suffix" \
	    "Inverted breakpoint range at '${bad_re}'"
    } else {
	gdb_test \
	    "disable ${prefix}$suffix" \
	    "Inverted breakpoint location range at '${bad_re}'"
    }
}

# Like disable_invalid, but expects a "negative number" error.

proc disable_negative {prefix suffix} {
    set bad_re [string_to_regexp $suffix]

    if {$prefix == ""} {
	gdb_test \
	    "disable $suffix" \
	    "Negative breakpoint number '${bad_re}'"
    } else {
	gdb_test \
	    "disable ${prefix}$suffix" \
	    "Negative breakpoint location number '${bad_re}'"
    }
}

with_test_prefix "bad numbers" {
    gdb_test "p \$zero = 0" " = 0"
    gdb_test "p \$one = 1" " = 1"
    gdb_test "p \$two = 2" " = 2"
    gdb_test "p \$minus_one = -1" " = -1"
    foreach prefix {"" "1." "$one."} {
	set prefix_re [string_to_regexp $prefix]

	disable_invalid $prefix "foo"
	disable_invalid $prefix "1foo"
	disable_invalid $prefix "foo1"

	disable_inverted $prefix "2-1"
	disable_inverted $prefix "2-\$one"
	disable_inverted $prefix "\$two-1"
	disable_inverted $prefix "\$two-\$one"

	disable_negative $prefix "-1"
	disable_negative $prefix "-\$one"
	disable_negative $prefix "\$minus_one"
    }
}

gdb_test "info break" [make_info_breakpoint_reply_re y y y y y y] \
    "breakpoint info after invalids"
