Re: [PATCHv3 3/3] git-p4: tests: use test-chmtime in place of touch

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

 



On 19/05/15 23:23, Luke Diamand wrote:
Using "touch" for P4EDITOR means that the tests can be a bit
racy, since git-p4 checks the timestamp has been updated and
fails if the timestamp is not updated.

Junio - this one is incorrect where it changes t9805 around the test called "no config, unedited, say yes" (it didn't need changing at all).

I can resend all three, or just the last one. Please let me know which is easier.

Thanks
Luke



Use test-chmtime instead, which is designed for this.

Signed-off-by: Luke Diamand <luke@xxxxxxxxxxx>
---
  t/t9803-git-p4-shell-metachars.sh  | 4 ++--
  t/t9805-git-p4-skip-submit-edit.sh | 2 +-
  t/t9813-git-p4-preserve-users.sh   | 7 ++++---
  3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/t/t9803-git-p4-shell-metachars.sh b/t/t9803-git-p4-shell-metachars.sh
index fbacff3..d950c7d 100755
--- a/t/t9803-git-p4-shell-metachars.sh
+++ b/t/t9803-git-p4-shell-metachars.sh
@@ -28,7 +28,7 @@ test_expect_success 'shell metachars in filenames' '
  		echo f2 >"file with spaces" &&
  		git add "file with spaces" &&
  		git commit -m "add files" &&
-		P4EDITOR=touch git p4 submit
+		P4EDITOR="test-chmtime +5" git p4 submit
  	) &&
  	(
  		cd "$cli" &&
@@ -47,7 +47,7 @@ test_expect_success 'deleting with shell metachars' '
  		git rm foo\$bar &&
  		git rm file\ with\ spaces &&
  		git commit -m "remove files" &&
-		P4EDITOR=touch git p4 submit
+		P4EDITOR="test-chmtime +5" git p4 submit
  	) &&
  	(
  		cd "$cli" &&
diff --git a/t/t9805-git-p4-skip-submit-edit.sh b/t/t9805-git-p4-skip-submit-edit.sh
index 5fbf904..dc8fc0c 100755
--- a/t/t9805-git-p4-skip-submit-edit.sh
+++ b/t/t9805-git-p4-skip-submit-edit.sh
@@ -17,7 +17,6 @@ test_expect_success 'init depot' '
  	)
  '

-# this works because P4EDITOR is set to true

The above line shouldn't be removed, but it's worth noting that it gets set to true in lib-git-p4.sh.

  test_expect_success 'no config, unedited, say yes' '
  	git p4 clone --dest="$git" //depot &&
  	test_when_finished cleanup_git &&
@@ -25,6 +24,7 @@ test_expect_success 'no config, unedited, say yes' '
  		cd "$git" &&
  		echo line >>file1 &&
  		git commit -a -m "change 2" &&
+		P4EDITOR="test-chmtime +5" &&

The above line should not be added.

  		echo y | git p4 submit &&
  		p4 changes //depot/... >wc &&
  		test_line_count = 2 wc
diff --git a/t/t9813-git-p4-preserve-users.sh b/t/t9813-git-p4-preserve-users.sh
index 166b840..fe65788 100755
--- a/t/t9813-git-p4-preserve-users.sh
+++ b/t/t9813-git-p4-preserve-users.sh
@@ -53,7 +53,8 @@ test_expect_success 'preserve users' '
  		git commit --author "Alice <alice@xxxxxxxxxxx>" -m "a change by alice" file1 &&
  		git commit --author "Bob <bob@xxxxxxxxxxx>" -m "a change by bob" file2 &&
  		git config git-p4.skipSubmitEditCheck true &&
-		P4EDITOR=touch P4USER=alice P4PASSWD=secret git p4 commit --preserve-user &&
+		P4EDITOR="test-chmtime +5" P4USER=alice P4PASSWD=secret &&
+		git p4 commit --preserve-user &&
  		p4_check_commit_author file1 alice &&
  		p4_check_commit_author file2 bob
  	)
@@ -69,7 +70,7 @@ test_expect_success 'refuse to preserve users without perms' '
  		git config git-p4.skipSubmitEditCheck true &&
  		echo "username-noperms: a change by alice" >>file1 &&
  		git commit --author "Alice <alice@xxxxxxxxxxx>" -m "perms: a change by alice" file1 &&
-		P4EDITOR=touch P4USER=bob P4PASSWD=secret &&
+		P4EDITOR="test-chmtime +5" P4USER=bob P4PASSWD=secret &&
  		export P4EDITOR P4USER P4PASSWD &&
  		test_must_fail git p4 commit --preserve-user &&
  		! git diff --exit-code HEAD..p4/master
@@ -87,7 +88,7 @@ test_expect_success 'preserve user where author is unknown to p4' '
  		git commit --author "Bob <bob@xxxxxxxxxxx>" -m "preserve: a change by bob" file1 &&
  		echo "username-unknown: a change by charlie" >>file1 &&
  		git commit --author "Charlie <charlie@xxxxxxxxxxx>" -m "preserve: a change by charlie" file1 &&
-		P4EDITOR=touch P4USER=alice P4PASSWD=secret &&
+		P4EDITOR="test-chmtime +5" P4USER=alice P4PASSWD=secret &&
  		export P4EDITOR P4USER P4PASSWD &&
  		test_must_fail git p4 commit --preserve-user &&
  		! git diff --exit-code HEAD..p4/master &&


--
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]