tests: don't rely on strerror text when testing rmdir failure
[gitweb.git] / t / t7001-mv.sh
index 3bfdfed1f7774edb8a87864bdb6a021dc6a185ed..e3290aafe7c244f6258c7925ad4a051b24aa8e2e 100755 (executable)
@@ -442,4 +442,24 @@ test_expect_success 'mv --dry-run does not touch the submodule or .gitmodules' '
        git diff-files --quiet -- sub .gitmodules
 '
 
+test_expect_success 'checking out a commit before submodule moved needs manual updates' '
+       git mv sub sub2 &&
+       git commit -m "moved sub to sub2" &&
+       git checkout -q HEAD^ 2>actual &&
+       test_i18ngrep "^warning: unable to rmdir sub2:" actual &&
+       git status -s sub2 >actual &&
+       echo "?? sub2/" >expected &&
+       test_cmp expected actual &&
+       ! test -f sub/.git &&
+       test -f sub2/.git &&
+       git submodule update &&
+       test -f sub/.git &&
+       rm -rf sub2 &&
+       git diff-index --exit-code HEAD &&
+       git update-index --refresh &&
+       git diff-files --quiet -- sub .gitmodules &&
+       git status -s sub2 >actual &&
+       ! test -s actual
+'
+
 test_done