diff options
author | Vincent Ambo <Vincent Ambo> | 2020-01-11T23·36+0000 |
---|---|---|
committer | Vincent Ambo <Vincent Ambo> | 2020-01-11T23·36+0000 |
commit | 1b593e1ea4d2af0f6444d9a7788d5d99abd6fde5 (patch) | |
tree | e3accb9beed5c4c1b5a05c99db71ab2841f0ed04 /t/t9805-git-p4-skip-submit-edit.sh |
Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
Diffstat (limited to 't/t9805-git-p4-skip-submit-edit.sh')
-rwxr-xr-x | t/t9805-git-p4-skip-submit-edit.sh | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/t/t9805-git-p4-skip-submit-edit.sh b/t/t9805-git-p4-skip-submit-edit.sh new file mode 100755 index 000000000000..90ef647db7e6 --- /dev/null +++ b/t/t9805-git-p4-skip-submit-edit.sh @@ -0,0 +1,101 @@ +#!/bin/sh + +test_description='git p4 skipSubmitEdit config variables' + +. ./lib-git-p4.sh + +test_expect_success 'start p4d' ' + start_p4d +' + +test_expect_success 'init depot' ' + ( + cd "$cli" && + echo file1 >file1 && + p4 add file1 && + p4 submit -d "change 1" + ) +' + +# this works because P4EDITOR is set to true +test_expect_success 'no config, unedited, say yes' ' + git p4 clone --dest="$git" //depot && + test_when_finished cleanup_git && + ( + cd "$git" && + echo line >>file1 && + git commit -a -m "change 2" && + echo y | git p4 submit && + p4 changes //depot/... >wc && + test_line_count = 2 wc + ) +' + +test_expect_success 'no config, unedited, say no' ' + git p4 clone --dest="$git" //depot && + test_when_finished cleanup_git && + ( + cd "$git" && + echo line >>file1 && + git commit -a -m "change 3 (not really)" && + printf "bad response\nn\n" | test_expect_code 1 git p4 submit && + p4 changes //depot/... >wc && + test_line_count = 2 wc + ) +' + +test_expect_success 'skipSubmitEdit' ' + git p4 clone --dest="$git" //depot && + test_when_finished cleanup_git && + ( + cd "$git" && + git config git-p4.skipSubmitEdit true && + # will fail if editor is even invoked + git config core.editor /bin/false && + echo line >>file1 && + git commit -a -m "change 3" && + git p4 submit && + p4 changes //depot/... >wc && + test_line_count = 3 wc + ) +' + +test_expect_success 'skipSubmitEditCheck' ' + git p4 clone --dest="$git" //depot && + test_when_finished cleanup_git && + ( + cd "$git" && + git config git-p4.skipSubmitEditCheck true && + echo line >>file1 && + git commit -a -m "change 4" && + git p4 submit && + p4 changes //depot/... >wc && + test_line_count = 4 wc + ) +' + +# check the normal case, where the template really is edited +test_expect_success 'no config, edited' ' + git p4 clone --dest="$git" //depot && + test_when_finished cleanup_git && + test_when_finished "rm ed.sh" && + cat >ed.sh <<-EOF && + #!$SHELL_PATH + sleep 1 + touch "\$1" + exit 0 + EOF + chmod 755 ed.sh && + ( + cd "$git" && + echo line >>file1 && + git commit -a -m "change 5" && + P4EDITOR="\"$TRASH_DIRECTORY/ed.sh\"" && + export P4EDITOR && + git p4 submit && + p4 changes //depot/... >wc && + test_line_count = 5 wc + ) +' + +test_done |