From ce6e5964b2feddeb994df5fe80947e8c707f8cec Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Tue, 21 Jun 2022 13:52:52 +0200 Subject: [PATCH] tests: port abump tests --- tests/abump.bats | 118 --------------------------------------- tests/abump_test | 78 ++++++++++++++++++++++++++ tests/testdata/gitconfig | 5 ++ 3 files changed, 83 insertions(+), 118 deletions(-) delete mode 100644 tests/abump.bats create mode 100755 tests/abump_test create mode 100644 tests/testdata/gitconfig diff --git a/tests/abump.bats b/tests/abump.bats deleted file mode 100644 index 47a47e3..0000000 --- a/tests/abump.bats +++ /dev/null @@ -1,118 +0,0 @@ -setup() { - export ABUILD="$PWD/../abuild" - export ABUMP="$PWD/../abump" - export ABUILD_KEYGEN="$PWD/../abuild-keygen" - export ABUILD_SHAREDIR="$PWD/.." - export ABUILD_CONF=/dev/null - export ABUILD_USERDIR="$BATS_TEST_TMPDIR"/.config - export PACKAGER="Test User " - export REPODEST="$BATS_TEST_TMPDIR"/packages - mkdir -p $BATS_TEST_TMPDIR - export CLEANUP="srcdir bldroot pkgdir deps" - export APORTSDIR="$BATS_TEST_TMPDIR" - export ABUILD_OPTS="" - export ABUILD_APK_INDEX_OPTS="--keys-dir=$ABUILD_USERDIR" - export PATH="$PWD/../:$PATH" - - $ABUILD_KEYGEN --append -n - - cd "$BATS_TEST_TMPDIR" - git init --quiet - git config user.email "user@example.com" - git config user.name "Test User" -} - -teardown() { - rm -rf "$BATS_TEST_TMPDIR" -} - -@test "abump: help text" { - $ABUMP -h -} - -@test "abump: simple bump" { - mkdir -p "$BATS_TEST_TMPDIR"/main/foo - cd "$BATS_TEST_TMPDIR"/main/foo - echo "first" > foo-1.0.txt - echo "second" > foo-1.1.txt - cat > APKBUILD <<-EOF - # Maintainer: Test user - pkgname="foo" - pkgver=1.0 - pkgrel=0 - pkgdesc="dummy package for test" - url="https://alpinelinux.org" - license="MIT" - arch="noarch" - source="foo-\$pkgver.txt" - options="!check" - package() { - install -D "\$srcdir"/foo-\$pkgver.txt "\$pkgdir"/foo - } - EOF - $ABUILD checksum - $ABUILD - git add APKBUILD foo-1.0.txt - git commit -m "test commit" - - $ABUMP foo-1.1 -} - -@test "abump: test bumping same version" { - mkdir -p "$BATS_TEST_TMPDIR"/main/foo - cd "$BATS_TEST_TMPDIR"/main/foo - echo "first" > foo-1.0.txt - echo "second" > foo-1.1.txt - cat > APKBUILD <<-EOF - # Maintainer: Test user - pkgname="foo" - pkgver=1.0 - pkgrel=0 - pkgdesc="dummy package for test" - url="https://alpinelinux.org" - license="MIT" - arch="noarch" - source="foo-\$pkgver.txt" - options="!check" - package() { - install -D "\$srcdir"/foo-\$pkgver.txt "\$pkgdir"/foo - } - EOF - $ABUILD checksum - $ABUILD - git add APKBUILD foo-1.0.txt - git commit -m "test commit" - - run $ABUMP foo-1.0 - [ $status -ne 0 ] -} - -@test "abump: test bumping same version which is not in git" { - mkdir -p "$BATS_TEST_TMPDIR"/main/foo - cd "$BATS_TEST_TMPDIR"/main/foo - echo "first" > foo-1.0.txt - echo "second" > foo-1.1.txt - cat > APKBUILD <<-EOF - # Maintainer: Test user - pkgname="foo" - pkgver=1.0 - pkgrel=0 - pkgdesc="dummy package for test" - url="https://alpinelinux.org" - license="MIT" - arch="noarch" - source="foo-\$pkgver.txt" - options="!check" - package() { - install -D "\$srcdir"/foo-\$pkgver.txt "\$pkgdir"/foo - } - EOF - $ABUILD checksum - $ABUILD - git add APKBUILD foo-1.0.txt - git commit -m "test commit" - - sed -i -e 's/pkgver=.*/pkgver=1.1/' APKBUILD - - $ABUMP foo-1.1 -} diff --git a/tests/abump_test b/tests/abump_test new file mode 100755 index 0000000..1e6ef43 --- /dev/null +++ b/tests/abump_test @@ -0,0 +1,78 @@ +#!/usr/bin/env atf-sh + +. $(atf_get_srcdir)/test_env.sh +init_tests \ + abump_help \ + abump_invalid_opt \ + abump_missing_args \ + abump_simple_bump + +export ABUILD_SHAREDIR=$(atf_get_srcdir)/.. +export GIT_CONFIG_GLOBAL="$(atf_get_srcdir)/testdata/gitconfig" +export APORTSDIR="$PWD" +export ABUILD_OPTS="" +export ABUILD_APK_INDEX_OPTS="--allow-untrusted" +export REPODEST="$PWD"/packages + +abump_help_body() { + atf_check -s exit:0 \ + -o match:"Usage" \ + abump -h +} + +abump_invalid_opt_body() { + atf_check -s exit:2 \ + -e match:"Usage" \ + abump -@ +} + +abump_missing_args_body() { + atf_check -s exit:2 \ + -e match:"Usage" \ + abump +} + +abump_simple_bump_body() { + cp -r "$(atf_get_srcdir)"/testdata/.abuild . + git init + mkdir -p main/foo + cd main/foo + echo "first" > foo-1.0.txt + cat > APKBUILD <<-EOF + # Maintainer: Test user + pkgname="foo" + pkgver=1.0 + pkgrel=0 + pkgdesc="dummy package for test" + url="https://alpinelinux.org" + license="MIT" + arch="noarch" + source="foo-\$pkgver.txt" + options="!check" + package() { + install -D "\$srcdir"/foo-\$pkgver.txt "\$pkgdir"/foo + } + EOF + abuild checksum + abuild + git add APKBUILD foo-1.0.txt + git commit -m "test commit" + + echo "second" > foo-1.1.txt + atf_check \ + -o match:"foo-1.1.txt: OK" \ + -e match:"upgrade to 1.1" \ + abump foo-1.1 + + atf_check -s exit:1 \ + -e match:">>> ERROR: version is already 1.1" \ + abump foo-1.1 + + sed -i -e 's/pkgver=.*/pkgver=1.2/' APKBUILD + echo "third" > foo-1.2.txt + atf_check \ + -o match:"foo-1.2.txt: OK" \ + -e match:"upgrade to 1.2" \ + abump foo-1.2 +} + diff --git a/tests/testdata/gitconfig b/tests/testdata/gitconfig new file mode 100644 index 0000000..65933e3 --- /dev/null +++ b/tests/testdata/gitconfig @@ -0,0 +1,5 @@ +[color] + ui = always +[user] + name = Joe User + email = juser@example.com