#!/bin/sh
#
# Copyright (c) 2005 Jon Seymour
#
test_description='Tests git rev-list --bisect functionality'

. ./test-lib.sh
. "$TEST_DIRECTORY"/t6000lib.sh # t6xxx specific functions

# usage: test_bisection max-diff bisect-option head ^prune...
#
# e.g. test_bisection 1 --bisect l1 ^l0
#
test_bisection_diff()
{
	_max_diff=$1
	_bisect_option=$2
	shift 2
	_bisection=$(git rev-list $_bisect_option "$@")
	_list_size=$(git rev-list "$@" | wc -l)
        _head=$1
	shift 1
	_bisection_size=$(git rev-list $_bisection "$@" | wc -l)
	[ -n "$_list_size" -a -n "$_bisection_size" ] ||
	error "test_bisection_diff failed"

	# Test if bisection size is close to half of list size within
	# tolerance.
	#
	_bisect_err=`expr $_list_size - $_bisection_size \* 2`
	test "$_bisect_err" -lt 0 && _bisect_err=`expr 0 - $_bisect_err`
	_bisect_err=`expr $_bisect_err / 2` ; # floor

	test_expect_success \
	"bisection diff $_bisect_option $_head $* <= $_max_diff" \
	'test $_bisect_err -le $_max_diff'
}

date >path0
git update-index --add path0
save_tag tree git write-tree
on_committer_date "1971-08-16 00:00:00" hide_error save_tag root unique_commit root tree
on_committer_date "1971-08-16 00:00:01" save_tag l0 unique_commit l0 tree -p root
on_committer_date "1971-08-16 00:00:02" save_tag l1 unique_commit l1 tree -p l0
on_committer_date "1971-08-16 00:00:03" save_tag l2 unique_commit l2 tree -p l1
on_committer_date "1971-08-16 00:00:04" save_tag a0 unique_commit a0 tree -p l2
on_committer_date "1971-08-16 00:00:05" save_tag a1 unique_commit a1 tree -p a0
on_committer_date "1971-08-16 00:00:06" save_tag b1 unique_commit b1 tree -p a0
on_committer_date "1971-08-16 00:00:07" save_tag c1 unique_commit c1 tree -p b1
on_committer_date "1971-08-16 00:00:08" save_tag b2 unique_commit b2 tree -p b1
on_committer_date "1971-08-16 00:00:09" save_tag b3 unique_commit b2 tree -p b2
on_committer_date "1971-08-16 00:00:10" save_tag c2 unique_commit c2 tree -p c1 -p b2
on_committer_date "1971-08-16 00:00:11" save_tag c3 unique_commit c3 tree -p c2
on_committer_date "1971-08-16 00:00:12" save_tag a2 unique_commit a2 tree -p a1
on_committer_date "1971-08-16 00:00:13" save_tag a3 unique_commit a3 tree -p a2
on_committer_date "1971-08-16 00:00:14" save_tag b4 unique_commit b4 tree -p b3 -p a3
on_committer_date "1971-08-16 00:00:15" save_tag a4 unique_commit a4 tree -p a3 -p b4 -p c3
on_committer_date "1971-08-16 00:00:16" save_tag l3 unique_commit l3 tree -p a4
on_committer_date "1971-08-16 00:00:17" save_tag l4 unique_commit l4 tree -p l3
on_committer_date "1971-08-16 00:00:18" save_tag l5 unique_commit l5 tree -p l4
git update-ref HEAD $(tag l5)


#     E
#    / \
#   e1  |
#   |   |
#   e2  |
#   |   |
#   e3  |
#   |   |
#   e4  |
#   |   |
#   |   f1
#   |   |
#   |   f2
#   |   |
#   |   f3
#   |   |
#   |   f4
#   |   |
#   e5  |
#   |   |
#   e6  |
#   |   |
#   e7  |
#   |   |
#   e8  |
#    \ /
#     F


on_committer_date "1971-08-16 00:00:00" hide_error save_tag F unique_commit F tree
on_committer_date "1971-08-16 00:00:01" save_tag e8 unique_commit e8 tree -p F
on_committer_date "1971-08-16 00:00:02" save_tag e7 unique_commit e7 tree -p e8
on_committer_date "1971-08-16 00:00:03" save_tag e6 unique_commit e6 tree -p e7
on_committer_date "1971-08-16 00:00:04" save_tag e5 unique_commit e5 tree -p e6
on_committer_date "1971-08-16 00:00:05" save_tag f4 unique_commit f4 tree -p F
on_committer_date "1971-08-16 00:00:06" save_tag f3 unique_commit f3 tree -p f4
on_committer_date "1971-08-16 00:00:07" save_tag f2 unique_commit f2 tree -p f3
on_committer_date "1971-08-16 00:00:08" save_tag f1 unique_commit f1 tree -p f2
on_committer_date "1971-08-16 00:00:09" save_tag e4 unique_commit e4 tree -p e5
on_committer_date "1971-08-16 00:00:10" save_tag e3 unique_commit e3 tree -p e4
on_committer_date "1971-08-16 00:00:11" save_tag e2 unique_commit e2 tree -p e3
on_committer_date "1971-08-16 00:00:12" save_tag e1 unique_commit e1 tree -p e2
on_committer_date "1971-08-16 00:00:13" save_tag E unique_commit E tree -p e1 -p f1

on_committer_date "1971-08-16 00:00:00" hide_error save_tag U unique_commit U tree
on_committer_date "1971-08-16 00:00:01" save_tag u0 unique_commit u0 tree -p U
on_committer_date "1971-08-16 00:00:01" save_tag u1 unique_commit u1 tree -p u0
on_committer_date "1971-08-16 00:00:02" save_tag u2 unique_commit u2 tree -p u0
on_committer_date "1971-08-16 00:00:03" save_tag u3 unique_commit u3 tree -p u0
on_committer_date "1971-08-16 00:00:04" save_tag u4 unique_commit u4 tree -p u0
on_committer_date "1971-08-16 00:00:05" save_tag u5 unique_commit u5 tree -p u0
on_committer_date "1971-08-16 00:00:06" save_tag V unique_commit V tree -p u1 -p u2 -p u3 -p u4 -p u5

test_sequence()
{
	_bisect_option=$1

	test_bisection_diff 0 $_bisect_option l0 ^root
	test_bisection_diff 0 $_bisect_option l1 ^root
	test_bisection_diff 0 $_bisect_option l2 ^root
	test_bisection_diff 0 $_bisect_option a0 ^root
	test_bisection_diff 0 $_bisect_option a1 ^root
	test_bisection_diff 0 $_bisect_option a2 ^root
	test_bisection_diff 0 $_bisect_option a3 ^root
	test_bisection_diff 0 $_bisect_option b1 ^root
	test_bisection_diff 0 $_bisect_option b2 ^root
	test_bisection_diff 0 $_bisect_option b3 ^root
	test_bisection_diff 0 $_bisect_option c1 ^root
	test_bisection_diff 0 $_bisect_option c2 ^root
	test_bisection_diff 0 $_bisect_option c3 ^root
	test_bisection_diff 0 $_bisect_option E ^F
	test_bisection_diff 0 $_bisect_option e1 ^F
	test_bisection_diff 0 $_bisect_option e2 ^F
	test_bisection_diff 0 $_bisect_option e3 ^F
	test_bisection_diff 0 $_bisect_option e4 ^F
	test_bisection_diff 0 $_bisect_option e5 ^F
	test_bisection_diff 0 $_bisect_option e6 ^F
	test_bisection_diff 0 $_bisect_option e7 ^F
	test_bisection_diff 0 $_bisect_option f1 ^F
	test_bisection_diff 0 $_bisect_option f2 ^F
	test_bisection_diff 0 $_bisect_option f3 ^F
	test_bisection_diff 0 $_bisect_option f4 ^F
	test_bisection_diff 0 $_bisect_option E ^F

	test_bisection_diff 1 $_bisect_option V ^U
	test_bisection_diff 0 $_bisect_option V ^U ^u1 ^u2 ^u3
	test_bisection_diff 0 $_bisect_option u1 ^U
	test_bisection_diff 0 $_bisect_option u2 ^U
	test_bisection_diff 0 $_bisect_option u3 ^U
	test_bisection_diff 0 $_bisect_option u4 ^U
	test_bisection_diff 0 $_bisect_option u5 ^U

#
# the following illustrates Linus' binary bug blatt idea.
#
# assume the bug is actually at l3, but you don't know that - all you know is that l3 is broken
# and it wasn't broken before
#
# keep bisecting the list, advancing the "bad" head and accumulating "good" heads until
# the bisection point is the head - this is the bad point.
#

test_output_expect_success "$_bisect_option l5 ^root" 'git rev-list $_bisect_option l5 ^root' <<EOF
c3
EOF

test_output_expect_success "$_bisect_option l5 ^root ^c3" 'git rev-list $_bisect_option l5 ^root ^c3' <<EOF
b4
EOF

test_output_expect_success "$_bisect_option l5 ^root ^c3 ^b4" 'git rev-list $_bisect_option l5 ^c3 ^b4' <<EOF
l3
EOF

test_output_expect_success "$_bisect_option l3 ^root ^c3 ^b4" 'git rev-list $_bisect_option l3 ^root ^c3 ^b4' <<EOF
a4
EOF

test_output_expect_success "$_bisect_option l5 ^b3 ^a3 ^b4 ^a4" 'git rev-list $_bisect_option l3 ^b3 ^a3 ^a4' <<EOF
l3
EOF

#
# if l3 is bad, then l4 is bad too - so advance the bad pointer by making b4 the known bad head
#

test_output_expect_success "$_bisect_option l4 ^a2 ^a3 ^b ^a4" 'git rev-list $_bisect_option l4 ^a2 ^a3 ^a4' <<EOF
l3
EOF

test_output_expect_success "$_bisect_option l3 ^a2 ^a3 ^b ^a4" 'git rev-list $_bisect_option l3 ^a2 ^a3 ^a4' <<EOF
l3
EOF

# found!

#
# as another example, let's consider a4 to be the bad head, in which case
#

test_output_expect_success "$_bisect_option a4 ^a2 ^a3 ^b4" 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4' <<EOF
c2
EOF

test_output_expect_success "$_bisect_option a4 ^a2 ^a3 ^b4 ^c2" 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4 ^c2' <<EOF
c3
EOF

test_output_expect_success "$_bisect_option a4 ^a2 ^a3 ^b4 ^c2 ^c3" 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4 ^c2 ^c3' <<EOF
a4
EOF

# found!

#
# or consider c3 to be the bad head
#

test_output_expect_success "$_bisect_option a4 ^a2 ^a3 ^b4" 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4' <<EOF
c2
EOF

test_output_expect_success "$_bisect_option c3 ^a2 ^a3 ^b4 ^c2" 'git rev-list $_bisect_option c3 ^a2 ^a3 ^b4 ^c2' <<EOF
c3
EOF

# found!

}

test_sequence "--bisect"

#
#
test_done
