diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2018-10-01 20:22:32 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2018-10-01 20:31:57 -0400 |
commit | 00406ddaa210e0e9a6e31e0e6841b51edabc80fb (patch) | |
tree | 8ebedf77a90d8d662f828fcd04f55aa7d7b16ecc /test/cases/is_built.bats | |
parent | f2294c82afae36bbd5772a86c6689fd4c12c50f0 (diff) |
(BATS) test/cases: Automated Roundup→BATS conversion
for file in test/cases/*.bats; do
name=$(sed -n 's/^describe //p' -- "$file")
sed -ri '
# Remove the roundup shebang
/^#!\/usr\/bin\/env roundup$/d
# Use $BATS_TEST_NAME instead of $roundup_test_name
s,roundup_test_name,BATS_TEST_NAME,g
# Use BATS built-in "skip" instead of just succeeding
/^\trequire /s/\|\| return 0$/|| skip/
# Remove the chroot message, does not play well with BATS output
/Creating a chroot, may take a few minutes/d
# Update file locations
s,^\. \./test-common\.sh$,load ../lib/common,
s,\b(libre(chroot|dbdiff|fetch|makepkg|stage|xgettext)|pkgbuild-check-nonfree|toru)\.d\b,fixtures/\1,g
# In BATS, the hook is setup(), not before()
s,^before\(\),setup(),
s,^\tcommon_before$,\tcommon_setup,
# Convert test definitions from
# describe FOO
# it_does_a_thing() { … }
# to
# @test "FOO does a thing" { … }
/^describe /d
/^it_/ {
s/_/ /g
s,^it (.*)\(\),@test "'"$name"' \1\",
}
' \
-- "$file"
# Remove leading newline that might have been left behind by the above
sed -i '1{/^$/d}' -- "$file"
git add "$file"
done
sed -i \
-e 's,librexgettext\.d,fixtures/librexgettext,g' \
-e 's,/it_,/test_librexgettext_,g' \
-- test/fixtures/librexgettext/*
git add test/fixtures/librexgettext/*
Diffstat (limited to 'test/cases/is_built.bats')
-rw-r--r-- | test/cases/is_built.bats | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/test/cases/is_built.bats b/test/cases/is_built.bats index 66f92bf..44faf90 100644 --- a/test/cases/is_built.bats +++ b/test/cases/is_built.bats @@ -1,16 +1,13 @@ -#!/usr/bin/env roundup +load ../lib/common -describe is_built -. ./test-common.sh - -it_displays_help() { +@test "is_built displays help" { LC_ALL=C is_built -h >$tmpdir/stdout 2>$tmpdir/stderr [[ "$(sed 1q $tmpdir/stdout)" =~ Usage:.* ]] empty $tmpdir/stderr } -it_fails_with_0_args() { +@test "is_built fails with 0 args" { is_built >$tmpdir/stdout 2>$tmpdir/stderr || status=$? [[ $status -gt 1 ]] @@ -18,14 +15,14 @@ it_fails_with_0_args() { not empty $tmpdir/stderr } -it_succeeds_with_1_arg() { +@test "is_built succeeds with 1 arg" { is_built sh >$tmpdir/stdout 2>$tmpdir/stderr empty $tmpdir/stdout empty $tmpdir/stderr } -it_returns_1_for_non_existent_package() { +@test "is_built returns 1 for non existent package" { is_built phony-ne-package 100 >$tmpdir/stdout 2>$tmpdir/stderr || status=$? [[ $status == 1 ]] @@ -33,7 +30,7 @@ it_returns_1_for_non_existent_package() { empty $tmpdir/stderr } -it_returns_1_for_future_packages() { +@test "is_built returns 1 for future packages" { # If emacs ever goes rapid release, we might need to change this :P is_built emacs 100 >$tmpdir/stdout 2>$tmpdir/stderr || status=$? @@ -42,7 +39,7 @@ it_returns_1_for_future_packages() { empty $tmpdir/stderr } -it_returns_0_for_past_packages() { +@test "is_built returns 0 for past packages" { # If emacs ever goes rapid release, we might need to change this :P is_built emacs 1 >$tmpdir/stdout 2>$tmpdir/stderr |