From 0e515222756a52b6f6e617a5dba149d7422546d4 Mon Sep 17 00:00:00 2001 From: Scott Worley Date: Fri, 22 May 2020 21:15:18 -0700 Subject: [PATCH 1/1] More tests around rejecting force pushes --- tests/reject-amend.sh | 21 +++++++++++++++++++++ tests/reject-force-push.sh | 26 ++++++++++++++++++++++++++ tests/reject-nonancestor.sh | 2 ++ tests/reject-nonancestor2.sh | 25 +++++++++++++++++++++++++ 4 files changed, 74 insertions(+) create mode 100755 tests/reject-amend.sh create mode 100755 tests/reject-force-push.sh create mode 100755 tests/reject-nonancestor2.sh 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 -- 2.44.1