From: Scott Worley Date: Sat, 23 May 2020 04:15:18 +0000 (-0700) Subject: More tests around rejecting force pushes X-Git-Tag: 1.3~6 X-Git-Url: http://git.scottworley.com/pinch/commitdiff_plain/0e515222756a52b6f6e617a5dba149d7422546d4 More tests around rejecting force pushes --- diff --git a/tests/reject-amend.sh b/tests/reject-amend.sh new file mode 100755 index 0000000..f8cc2e9 --- /dev/null +++ b/tests/reject-amend.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +. ./tests/lib/test-setup.sh + +foo_setup + +python3 ./pinch.py pin "$conf" + +( + cd "$repo" + echo Other contents > other-file + git add other-file + git commit --amend -m 'Amended commit message' +) + +if python3 ./pinch.py pin "$conf";then + echo "FAIL: non-ancestor commit should be rejected" + exit 1 +else + echo PASS +fi diff --git a/tests/reject-force-push.sh b/tests/reject-force-push.sh new file mode 100755 index 0000000..4a0614f --- /dev/null +++ b/tests/reject-force-push.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +. ./tests/lib/test-setup.sh + +foo_setup +conf_bak=$(mktemp) +cp "$conf" "$conf_bak" + +python3 ./pinch.py pin "$conf" + +( + cd "$repo" + echo Other contents > other-file + git add other-file + git commit --amend -m 'Amended commit message' +) + +mv "$conf_bak" "$conf" + +if python3 ./pinch.py pin "$conf";then + echo "FAIL: non-ancestor commit should be rejected" + exit 1 +else + echo PASS +fi + diff --git a/tests/reject-nonancestor.sh b/tests/reject-nonancestor.sh index f8cc2e9..44f2a82 100755 --- a/tests/reject-nonancestor.sh +++ b/tests/reject-nonancestor.sh @@ -13,6 +13,8 @@ python3 ./pinch.py pin "$conf" git commit --amend -m 'Amended commit message' ) +rm -rf "$cache_dir"/* + if python3 ./pinch.py pin "$conf";then echo "FAIL: non-ancestor commit should be rejected" exit 1 diff --git a/tests/reject-nonancestor2.sh b/tests/reject-nonancestor2.sh new file mode 100755 index 0000000..924d229 --- /dev/null +++ b/tests/reject-nonancestor2.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +. ./tests/lib/test-setup.sh + +foo_setup + +( + cd "$repo" + git checkout -b historical + git checkout master + echo Other contents > other-file + git add other-file + git commit -m 'Second commit message' +) + +python3 ./pinch.py pin "$conf" + +sed -i 's/master/historical/' "$conf" + +if python3 ./pinch.py pin "$conf";then + echo "FAIL: non-ancestor commit should be rejected" + exit 1 +else + echo PASS +fi