Re: [PATCH] Several tests: cd inside subshell instead of around

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Junio C Hamano wrote:

> If we were to insist that no matter how an individual test fail, the test
> that follows it must start in a known location (namely, $TRASH), then we
> might want to use something like the attached patch.

I like it.  Affected test scripts:

  t0003-attributes.sh		t0050-filesystem.sh
  t1007-hash-object.sh		t1020-subdirectory.sh
  t1301-shared-repo.sh		t1500-rev-parse.sh
  t1501-worktree.sh		t1504-ceiling-dirs.sh
  t2050-git-dir-relative.sh	t2300-cd-to-toplevel.sh
  t3407-rebase-abort.sh		t4119-apply-config.sh
  t5300-pack-object.sh		t5404-tracking-branches.sh
  t5406-remote-rejects.sh	t5510-fetch.sh
  t5515-fetch-merge-logic.sh	t5520-pull.sh
  t5530-upload-pack-error.sh	t5600-clone-fail-cleanup.sh
  t5700-clone-reference.sh	t5701-clone-local.sh
  t5710-info-alternate.sh	t6029-merge-subtree.sh
  t7001-mv.sh			t7103-reset-bare.sh
  t7400-submodule-basic.sh	t7401-submodule-summary.sh
  t7408-submodule-reference.sh	t7610-mergetool.sh
  t9101-git-svn-props.sh	t9103-git-svn-tracked-directory-removed.sh
  t9113-git-svn-dcommit-new-file.sh
  t9115-git-svn-dcommit-funky-renames.sh
  t9117-git-svn-init-clone.sh
  t9137-git-svn-dcommit-clobber-series.sh
  t9400-git-cvsserver-server.sh

and probably some others.

What is the ",$(pwd)" for?

diff --git a/t/test-lib.sh b/t/test-lib.sh
index 29fd720..90ed4d9 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -370,6 +370,11 @@ test_debug () {
 }
 
 test_run_ () {
+	if test ",$(pwd)" != ",$TRASH_DIRECTORY"
+	then
+		error "bug in test script: starting from a different directory"
+	fi
+
 	test_cleanup=:
 	eval >&3 2>&4 "$1"
 	eval_ret=$?
@@ -377,6 +382,11 @@ test_run_ () {
 	if test "$verbose" = "t" && test -n "$HARNESS_ACTIVE"; then
 		echo ""
 	fi
+
+	if test ",$(pwd)" != ",$TRASH_DIRECTORY"
+	then
+		error "bug in test script: moved to a different directory"
+	fi
 	return 0
 }
 
-- 
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]