t7610: don't rely on state from previous test
authorRichard Hansen <hansenr@google.com>
Tue, 10 Jan 2017 20:41:54 +0000 (15:41 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 10 Jan 2017 21:22:20 +0000 (13:22 -0800)
If the repository must be in a particular state (beyond what is
already done by the 'setup' test case) before the test can run, make
the necessary repository changes in the test script even if it means
duplicating some lines of code from the previous test case.

This is a step toward making the tests more independent so that if one
test fails it doesn't cause subsequent tests to fail.

Signed-off-by: Richard Hansen <hansenr@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7610-mergetool.sh
index ca99c4b1adfabb9fe85d920bad293262b20d278b..79545ec662083581e9cab6c1ae91cb0c3ae10058 100755 (executable)
@@ -181,8 +181,12 @@ test_expect_success 'mergetool in subdir' '
 '
 
 test_expect_success 'mergetool on file in parent dir' '
+       git reset --hard &&
+       git submodule update -N &&
        (
                cd subdir &&
+               test_must_fail git merge master >/dev/null 2>&1 &&
+               ( yes "" | git mergetool file3 >/dev/null 2>&1 ) &&
                ( yes "" | git mergetool ../file1 >/dev/null 2>&1 ) &&
                ( yes "" | git mergetool ../file2 ../spaced\ name >/dev/null 2>&1 ) &&
                ( yes "" | git mergetool ../both >/dev/null 2>&1 ) &&
@@ -652,6 +656,8 @@ test_expect_success 'mergetool -Oorder-file is honored' '
        test_config diff.orderFile order-file &&
        test_config mergetool.myecho.cmd "echo \"\$LOCAL\"" &&
        test_config mergetool.myecho.trustExitCode true &&
+       echo b >order-file &&
+       echo a >>order-file &&
        test_must_fail git merge order-file-side1 &&
        cat >expect <<-\EOF &&
                Merging: