From 3be121a05dcd170854a8dac6437b29f297a6ff4e Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 14:01:11 +0200 Subject: Adding upstream version 2.23.4+deb12u1. Signed-off-by: Daniel Baumann --- test/test_uscan_git | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100755 test/test_uscan_git (limited to 'test/test_uscan_git') diff --git a/test/test_uscan_git b/test/test_uscan_git new file mode 100755 index 0000000..61b5c81 --- /dev/null +++ b/test/test_uscan_git @@ -0,0 +1,207 @@ +#!/bin/bash + +# Copyright (C) 2018, Xavier +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# On Debian systems, the complete text of the GNU General Public License +# version 3 can be found in the /usr/share/common-licenses/GPL-3 file. + +set -u +#set -x + +TESTTYPE=Git +. ./lib_test_uscan + +COMMAND="chronic_sh uscan --no-conf --compression=xz --dehs" + +# prevent the local from messing with this test +export GIT_CONFIG_NOGLOBAL=1 +export HOME="" +export XDG_CONFIG_HOME="" + +# comment out for debug +#COMMAND="$COMMAND --verbose" +#COMMAND="$COMMAND --debug" + +cleanup(){ + rm -rf "$TEMP_PKG_DIR" +} + +spawnGitRepo(){ + mkdir -p "$TEMP_PKG_DIR/repo" + (cd "$TEMP_PKG_DIR/repo" || exit 1 + chronic_sh git init + git config user.name "Joe Developer" + git config user.email "none@debian.org" + touch changelog file.c extra.c + echo 'extra.c export-ignore' >.gitattributes + chronic_sh git add changelog file.c extra.c .gitattributes + chronic_sh git commit -a -m 'Init' + for version in 1.0 2.0; do + echo "# Version $version" >> file.c + cat >> changelog <&2 + exit 1 + fi + mkdir -p "$TEMP_PKG_DIR"/$PKG/debian/upstream + mkdir -p "$TEMP_PKG_DIR"/$PKG/debian/source + spawnGitRepo + + cat < "$TEMP_PKG_DIR/$PKG/debian/watch" +version=4 +opts="mode=git,gitmode=shallow,$WATCHARGS" \ +file:///$TEMP_PKG_DIR/repo refs/tags/v([\\d\\.]+) debian +END + + cat < "$TEMP_PKG_DIR/$PKG/debian/changelog" +$PKG (0-1) unstable; urgency=low + + * Initial release + + -- Joe Developer Mon, 02 Nov 2013 22:21:31 -0100 +END + echo '3.0 (quilt)' > "$TEMP_PKG_DIR/$PKG/debian/source/format" + cp -f "$test_dir/uscan/PUBLIC_KEY.asc" "$TEMP_PKG_DIR/$PKG/debian/upstream/signing-key.asc" +} + +makeDebianDirWithUpstream() { + WATCHARGS=$1 + makeDebianDir "$WATCHARGS" + cd "$TEMP_PKG_DIR/$PKG" || exit 1 + chronic_sh git init + chronic_sh git remote add upstream "file:///$TEMP_PKG_DIR/repo" + chronic_sh git fetch upstream + cd - > /dev/null || exit 1 +} + +makeDebianDirHead() { + WATCHARGS=$1 + makeDebianDir "$WATCHARGS" + cat < "$TEMP_PKG_DIR/$PKG/debian/watch" +version=4 +opts="mode=git,pretty=0.0+git%cd.%h" \ +file:///$TEMP_PKG_DIR/repo HEAD +END +} + +helperLaunch() { + WATCHARGS=$1 + ARG="${2:-}" + CMD_ARG="${3:-}" + if test "$ARG" = "upstream"; then + makeDebianDirWithUpstream "$WATCHARGS" + elif test "$ARG" = "HEAD"; then + makeDebianDirHead "$WATCHARGS" + else + makeDebianDir "$WATCHARGS" + fi + ( cd "$TEMP_PKG_DIR/$PKG" || exit 1 ; $COMMAND $CMD_ARG --watchfile=debian/watch ) + assertEquals "uscan: exit_code!=0 but exit_code=0" "$?" "0" +} + +testGit() { + helperLaunch "pgpmode=none" + TARBALL=${PKG}_2.0.orig.tar.xz + assertTrue 'downloaded tarfile not present' "[ -f '$TEMP_PKG_DIR/${PKG}-2.0.tar.xz' ]" + assertTrue 'pristine tarball is not created' "[ -f '$TEMP_PKG_DIR/$TARBALL' ]" + assertTrue 'pristine tarball is a symlink' "[ -L '$TEMP_PKG_DIR/$TARBALL' ]" + cleanup +} + +testGitHead() { + helperLaunch "pgpmode=none" HEAD + ORIG=$(find "$TEMP_PKG_DIR" | perl -ne 'print if/\/foo.*\.orig\.tar\.xz$/') + UPSTREAM=$(find "$TEMP_PKG_DIR" | perl -ne 'print if/\/foo.*(?