tests: make test-apply-criss-cross-rename more robust
authorMichał Kiedrowicz <michal.kiedrowicz@gmail.com>
Sat, 18 Apr 2009 21:03:57 +0000 (23:03 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 20 Apr 2009 20:47:02 +0000 (13:47 -0700)
I realized that this test does check if git-apply succeeds, but doesn't
tell if it applies patches correctly. So I added test_cmp to check it.

I also added a test which checks swapping three files.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4130-apply-criss-cross-rename.sh

index 8623dbebabc3fd821ab3d5c52a80c8b3c20c4e18..7cfa2d6287ff7c6c0fc7fbc2e86fd622bbc901ce 100755 (executable)
@@ -15,14 +15,17 @@ create_file() {
 test_expect_success 'setup' '
        create_file file1 "File1 contents" &&
        create_file file2 "File2 contents" &&
-       git add file1 file2 &&
+       create_file file3 "File3 contents" &&
+       git add file1 file2 file3 &&
        git commit -m 1
 '
 
 test_expect_success 'criss-cross rename' '
        mv file1 tmp &&
        mv file2 file1 &&
-       mv tmp file2
+       mv tmp file2 &&
+       cp file1 file1-swapped &&
+       cp file2 file2-swapped
 '
 
 test_expect_success 'diff -M -B' '
@@ -32,7 +35,32 @@ test_expect_success 'diff -M -B' '
 '
 
 test_expect_success 'apply' '
-       git apply diff
+       git apply diff &&
+       test_cmp file1 file1-swapped &&
+       test_cmp file2 file2-swapped
+'
+
+test_expect_success 'criss-cross rename' '
+       git reset --hard &&
+       mv file1 tmp &&
+       mv file2 file1 &&
+       mv file3 file2
+       mv tmp file3 &&
+       cp file1 file1-swapped &&
+       cp file2 file2-swapped &&
+       cp file3 file3-swapped
+'
+
+test_expect_success 'diff -M -B' '
+       git diff -M -B > diff &&
+       git reset --hard
+'
+
+test_expect_success 'apply' '
+       git apply diff &&
+       test_cmp file1 file1-swapped &&
+       test_cmp file2 file2-swapped &&
+       test_cmp file3 file3-swapped
 '
 
 test_done