From: Luke Diamand Date: Tue, 19 May 2015 22:36:32 GMT Subject: Re: [PATCHv3 3/3] git-p4: tests: use test-chmtime in place of touch Message-ID: <555BBAF0.7070008@diamand.org> In-Reply-To: <1432074198-13806-4-git-send-email-luke@diamand.org> 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 > --- > 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 " -m "a change by alice" file1 && > git commit --author "Bob " -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 " -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 " -m "preserve: a change by bob" file1 && > echo "username-unknown: a change by charlie" >>file1 && > git commit --author "Charlie " -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 && >