Commit Graph

98 Commits

Author SHA1 Message Date
Kevin Daudt
b7813c377c abump: demonstrate abump environment polution
abump sources the APKBUILD to be able to check some variables. When the
APKBUILD exports variables in the global scope, that affects the abump
environment as well.

When abump then executes abuild, it will inherrit the environment from
abump. This is an issue under the following circumstances:

* The APKBUILD only updates the value of an exported variable if it's
  not set
* The default value includes a variable set by abuild, like `$srcdir`.

Because the variable is set by abuild, but not abump, the resulting
exported variable is different. Because it's then set incorrectly in the
abump environment, it's no longer updated with the correct variable when
abuild is invoked.
2022-10-15 10:52:11 +00:00
Natanael Copa
5c542377a8 abuild: fix amove corner cases
fix `amove dir` (without leading or trailing /)

add various testcases for amove
2022-09-23 12:31:56 +02:00
Natanael Copa
8357608d5f tests: functions: add test for empty but set vars
ref https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/112
2022-08-30 10:38:38 +02:00
psykose
927f14f6b3
abuild: fix package size for script-only packages 2022-08-05 16:00:36 +02:00
Natanael Copa
3a235e4d3c tests: adjust to openssl 3
openssl3 have different output to stderr when generating keys. Adjust
accordingly.
2022-08-05 13:22:02 +00:00
ptrcnull
33ce0536ef
abuild: set GIT_CEILING_DIRECTORIES before running prepare/build/check/package 2022-06-22 17:50:38 +02:00
Natanael Copa
4dbf8e3756 abuild-keygen: use doas instead of sudo
fallback to sudo if doas was not found
2022-06-22 16:41:51 +02:00
Natanael Copa
36e1d04f06 tests: abuild: dont copy keys in global scope
this makes it copy keys when generating the list of tests
2022-06-22 16:13:07 +02:00
Natanael Copa
ce6e5964b2 tests: port abump tests 2022-06-22 16:13:07 +02:00
Natanael Copa
df0eece116 tests: remove abuild.bats
its completely ported now
2022-06-22 16:13:07 +02:00
Natanael Copa
709235bc82 tests: abuild: port mutiline license test 2022-06-22 16:13:07 +02:00
Natanael Copa
bd84b91ba9 test: abuild: port invalid pkgname/subpkgname/subpkgversion 2022-06-22 16:13:07 +02:00
Natanael Copa
07894fa745 tests: abuild: port invalid-initd test 2022-06-22 16:13:07 +02:00
Natanael Copa
30b493d4b2 tests: abuild: port and fix py provides generation 2022-06-22 16:13:07 +02:00
Natanael Copa
ca29f73dfe tests: abuild: port subpkg-dep-leak test 2022-06-22 16:13:07 +02:00
Natanael Copa
9c67324854 tests: abuild: port duplicate checksum test 2022-06-22 16:13:07 +02:00
Natanael Copa
e684847caf tests: add test for checksum generation 2022-06-22 16:13:07 +02:00
Natanael Copa
2e3816d08c tests: abuild: port reproducible build test 2022-06-22 16:13:07 +02:00
Natanael Copa
f932f3d32a tests: abuild: add tests for dbg subpackage
Apparently tmpfs does not support extended attributes user namespace, so
ddrop the SETFATTR=false test.
2022-06-22 16:13:07 +02:00
Natanael Copa
35592db050 tests: abuild: add lib64 tests 2022-06-22 16:13:07 +02:00
Natanael Copa
1b66d65805 tests: abuild: add test for invalid filename 2022-06-22 16:13:07 +02:00
Natanael Copa
1913c6929c tests: refacgor abuild build failure 2022-06-22 16:13:07 +02:00
Natanael Copa
209ad1f6ab tests: abuild: add test for simple build 2022-06-22 16:13:07 +02:00
Natanael Copa
4da872b8c9 tests: abuild: test show version 2022-06-22 16:13:07 +02:00
Natanael Copa
f69cbe8b96 abuild: show usage on stderr on invalid options 2022-06-22 16:13:07 +02:00
Natanael Copa
0a9f7d1e31 tests: abuild-sign: refactor owner 0/0 test
Refactor test that verifies that owner in tar archive is numeric 0/0
2022-06-22 16:13:07 +02:00
Natanael Copa
ea4c0e0eba abuild-sign: fix --installed to detect missing keys 2022-06-22 16:13:07 +02:00
Natanael Copa
97d6a8567d tests: add tests for abuild-sign
Test help text, invalid opts and args, and --installed
2022-06-22 16:13:07 +02:00
Natanael Copa
2326f0c4ef tests: refactor abuild-keygen tests 2022-06-22 16:13:07 +02:00
Natanael Copa
ad5697ac44 tests: refactor test for abuild-gzsplit
Also test that the splitted components contains what is expected
2022-06-22 16:13:07 +02:00
Natanael Copa
26938597a0 tests: remove abuild-fetch.bats
It is replaced by abuild_fetch_test
2022-06-22 16:13:07 +02:00
Natanael Copa
14b89510ec tests: abuild-fetch: add test for fetch locking 2022-06-22 16:13:07 +02:00
Natanael Copa
956f452c10 tests: abuild-fetch: use -d to set output dir 2022-06-22 16:13:07 +02:00
Natanael Copa
0fe4de3663 tests: abuild-fetch: test wget --no-check-certificate 2022-06-22 16:13:07 +02:00
Natanael Copa
c87b6a47fe tests: abuild-fetch: test wget failure 2022-06-22 16:13:07 +02:00
Natanael Copa
0c40d8aca7 tests: abuild-fetch: test wget fallback 2022-06-22 16:13:07 +02:00
Natanael Copa
684cd989e6 tests: abuild-fetch: add test for http --insecure
when abuild-fetch is used with http source, curl should add --insecure
option. Verify this in a test.
2022-06-22 16:13:07 +02:00
Natanael Copa
d7d4eb7d60 tests: abuild-fetch: test curl failure 2022-06-22 16:13:07 +02:00
Natanael Copa
38a62bd063 tests: abuild-fetch: add test for curl invocation 2022-06-22 16:13:07 +02:00
Natanael Copa
911550dbe1 tests: add test for abuild-fetch help 2022-06-22 16:13:07 +02:00
Natanael Copa
f24dcff607 tests: functions.sh: test missing git 2022-06-22 16:13:07 +02:00
Natanael Copa
b9739f2c3f functions.sh: make it possible to set git binary
to help with testing
2022-06-22 16:13:07 +02:00
Natanael Copa
9dc6b74058 tests: Switch to kyua/atf-test, add tests for functions.sh 2022-06-22 16:13:07 +02:00
Olliver Schinagl
f5d6e5e34b abuild: Do not store whitespaces in license field
Currently, abuild stores the license variable ad-verbatim in the PKGINFO
file. This causes many downstream systems to fail. For example, `apk
info` won't show anything after the newline, our webview that lists
licenses do not show these either.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2022-06-14 12:08:01 +00:00
Alex Xu (Hello71)
b69e0230d0 tests: use BATS_TEST_TMPDIR, don't dump temp files in repo 2022-05-21 14:23:58 +00:00
Natanael Copa
681ef9dfcf tests: add test with invalid version of subpkgs' dependency
Ref: https://gitlab.alpinelinux.org/alpine/abuild/-/issues/10058
2022-01-17 16:17:25 +01:00
Natanael Copa
8824e43ad9 abuild: verify subpkgnames
Refactor pkgname check and also check subpkgnames

Add tests for invalid subpkgnames
2022-01-17 15:44:10 +01:00
Natanael Copa
070341e21d tests: add tests for invalid pkgname
Add s test for valid pkgnames to verify the testsuite APKBUILD actually
works as intended, and a few tests for invalid pkgnames
2022-01-17 15:36:49 +01:00
Kevin Daudt
a1975471ab tests/abuild: skip remote initd tests
This test is flaky and relies on a file hosted remotely, which can be
unreachable. Ideally there should a way to have this file served from
the test suite itself, but this might be challenging to do without
adding dependencies.
2021-10-11 23:13:57 +02:00
Kevin Daudt
2a95c3d50c tests: only generate key when not available yet
Installing a build key requires root permissions, something that is not
possible in all cases, most notably on the builders.

Instead of generating a key each time, which results in many keys being
generated each test suite run, check whether a key is already present by
using `abuild-sign --installed`, and only generate a key when that
returns false.
2021-10-11 23:12:59 +02:00