Since c5302d3 (Require TUs to explicitly request to overwrite a pkgbase,
2017-07-24), non-fast-forward pushes require setting the AUR_OVERWRITE
environment variable. Make sure that git-auth passes this variable to
git-serve when it should (and does not pass it if it shouldn't).

Signed-off-by: Lukas Fleischer <lfleisc...@archlinux.org>
---
 test/t1100-git-auth.sh | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/test/t1100-git-auth.sh b/test/t1100-git-auth.sh
index 71d526f..dd20bea 100755
--- a/test/t1100-git-auth.sh
+++ b/test/t1100-git-auth.sh
@@ -25,4 +25,21 @@ test_expect_success 'Test authentication with a wrong key.' '
        test_must_be_empty out
 '
 
+test_expect_success 'Test AUR_OVERWRITE passthrough.' '
+       AUR_OVERWRITE=1 \
+       "$GIT_AUTH" "$AUTH_KEYTYPE_TU" "$AUTH_KEYTEXT_TU" >out &&
+       grep -q AUR_OVERWRITE=1 out
+'
+
+test_expect_success 'Make sure that AUR_OVERWRITE is unset by default.' '
+       "$GIT_AUTH" "$AUTH_KEYTYPE_TU" "$AUTH_KEYTEXT_TU" >out &&
+       grep -q AUR_OVERWRITE=0 out
+'
+
+test_expect_success 'Make sure regular users cannot set AUR_OVERWRITE.' '
+       AUR_OVERWRITE=1 \
+       "$GIT_AUTH" "$AUTH_KEYTYPE_USER" "$AUTH_KEYTEXT_USER" >out &&
+       grep -q AUR_OVERWRITE=0 out
+'
+
 test_done
-- 
2.14.0

Reply via email to