|
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/*
|