Age | Commit message (Collapse) | Author |
|
distcc-tool [ci-skip]
|
|
It was written by me, in May 2018.
|
|
|
|
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/*
|
|
But don't edit them yet.
This directory structure is based on that of dbscripts.
|
|
|
|
With $HOME now being owned by test-common.sh instead of testenv, it's
sufficiently short-lived that we don't need to worry about reverting
changes we make to it.
|
|
- move REPODEST to common.bash
- don't bother setting PKGEXT
|
|
|
|
|
|
Some files were marked executable that shouldn't have been.
|
|
|
|
Instead of using in inconsistent mish-mash of `mkdir` and `echo >` and
`printf >>`, use more readable and identifiable indented-heredocs:
install -Dm644 /dev/stdin "FILENAME" <<-eot
CONTENTS
eot
|
|
It's already set that way in setup() of that file.
|
|
|
|
|
|
|
|
The big reason for having it separate was that we needed to install an
expensive after(). But, since that part of cleanup is now owned by
testenv, that's not a concern.
|
|
Instead, make the default before() an alias for common_before(), which test
files can call if they override before().
|
|
|
|
For consistency with other tests.
|
|
The effective change is that CARCH is added to the list.
|
|
|
|
Instead of having librefetch-test.sh do it.
|
|
codes
The name "status" was chosen because BATS initializes status=0; if we
switch from Roundup to BATS, our common setup won't need set it
anymore.
Accomplish this with:
$ sed -ri -e 's/\$(stat|ret|r)\b/$status/g' -e 's/\b(stat|ret|r)=/status=/g' test/*.sh
$ sed -ri '/^\s*(local\s+)?status=0$/d' test/*-test.sh
|
|
|
|
|
|
|
|
This should have been part of the earlier commit. Oh well.
|
|
|
|
|
|
|
|
https://labs.parabola.nu/issues/1311
|
|
|
|
|
|
|
|
|
|
This means you now need to use 'bash -c' to do things like pipelines.
|
|
|
|
[ci-skip]
https://labs.parabola.nu/issues/1186
|
|
|
|
|
|
Rationale: https://lists.parabola.nu/pipermail/dev/2017-October/005936.html
This makes get-rep a general-purpose tool for finding replacements and
providers of any package, not just blacklisted-ones. It works equally
well reading from full blacklist.txt lines, just pkgname lines, and
unwittingly; a single line with many pkgnames.
Some caveats for further discussion:
- This changes behavior from showing just one replacement/provider to
_all_ replacements and providers (including pkgname itself) in the repos.
- By "repos" I mean the repos the executing machine is configured to
access. This could be changed in the future with `expac --config`
if more package databases are desired (e.g. different
architecture).
- Results are shown using the "repo/pkgname ..." format rather than
just "pkgname ...". I think this makes the program more useful.
- Results aren't reordered to ensure that the first provider of
pkgname is pkgname itself. Order will be as expected otherwise, by
virtue of expac parsing repos in order.
|
|
Plenty of functions in libreblacklist are expected to print empty
lines, so as to signify that the archpkg at that line in the input has
an empty accompanying field.
Printing no newline and skipping to the next archpkg is therefore a
bug; one that would pass unnoticed by current tests. This is because
command substitution removes trailing whitespace. I.e. the following
is true:
[[ $(libreblacklist get-rep <<<'') == $(libreblacklist get-rep <<<$'\n') ]]
Process substitution and pipes preserve whitespace, but only the
latter work with #!/usr/bin/env roundup, so we use that.
|
|
The blacklist allows referring to a number of trusted bug trackers to
complement the information given in the reason field. However,
maintainable shorthand identifiers are used instead of full
URLs. Printing the latter based on the former is the job of this new
functionality.
This also introduces corresponding test cases and l10n strings
(together with translations for the `es` locale).
|
|
the blacklist has had a couple extra fields (ref, id) for some time, but
`libreblacklist` was never made aware of the change.
this updates test/lib-blacklist-test.sh for the same reason, and adds
a test for comment stripping under `it_normalizes_correctly()`.
|
|
|
|
|
|
|
|
|