Git fork
at reftables-rust 101 lines 2.2 kB view raw
1#!/bin/sh 2 3test_description='git p4 skipSubmitEdit config variables' 4 5. ./lib-git-p4.sh 6 7test_expect_success 'start p4d' ' 8 start_p4d 9' 10 11test_expect_success 'init depot' ' 12 ( 13 cd "$cli" && 14 echo file1 >file1 && 15 p4 add file1 && 16 p4 submit -d "change 1" 17 ) 18' 19 20# this works because P4EDITOR is set to true 21test_expect_success 'no config, unedited, say yes' ' 22 git p4 clone --dest="$git" //depot && 23 test_when_finished cleanup_git && 24 ( 25 cd "$git" && 26 echo line >>file1 && 27 git commit -a -m "change 2" && 28 echo y | git p4 submit && 29 p4 changes //depot/... >wc && 30 test_line_count = 2 wc 31 ) 32' 33 34test_expect_success 'no config, unedited, say no' ' 35 git p4 clone --dest="$git" //depot && 36 test_when_finished cleanup_git && 37 ( 38 cd "$git" && 39 echo line >>file1 && 40 git commit -a -m "change 3 (not really)" && 41 printf "bad response\nn\n" | test_expect_code 1 git p4 submit && 42 p4 changes //depot/... >wc && 43 test_line_count = 2 wc 44 ) 45' 46 47test_expect_success 'skipSubmitEdit' ' 48 git p4 clone --dest="$git" //depot && 49 test_when_finished cleanup_git && 50 ( 51 cd "$git" && 52 git config git-p4.skipSubmitEdit true && 53 # will fail if editor is even invoked 54 git config core.editor /bin/false && 55 echo line >>file1 && 56 git commit -a -m "change 3" && 57 git p4 submit && 58 p4 changes //depot/... >wc && 59 test_line_count = 3 wc 60 ) 61' 62 63test_expect_success 'skipSubmitEditCheck' ' 64 git p4 clone --dest="$git" //depot && 65 test_when_finished cleanup_git && 66 ( 67 cd "$git" && 68 git config git-p4.skipSubmitEditCheck true && 69 echo line >>file1 && 70 git commit -a -m "change 4" && 71 git p4 submit && 72 p4 changes //depot/... >wc && 73 test_line_count = 4 wc 74 ) 75' 76 77# check the normal case, where the template really is edited 78test_expect_success 'no config, edited' ' 79 git p4 clone --dest="$git" //depot && 80 test_when_finished cleanup_git && 81 test_when_finished "rm ed.sh" && 82 cat >ed.sh <<-EOF && 83 #!$SHELL_PATH 84 sleep 1 85 touch "\$1" 86 exit 0 87 EOF 88 chmod 755 ed.sh && 89 ( 90 cd "$git" && 91 echo line >>file1 && 92 git commit -a -m "change 5" && 93 P4EDITOR="\"$TRASH_DIRECTORY/ed.sh\"" && 94 export P4EDITOR && 95 git p4 submit && 96 p4 changes //depot/... >wc && 97 test_line_count = 5 wc 98 ) 99' 100 101test_done