diff options
author | Luke T. Shumaker <lukeshu@parabola.nu> | 2024-02-21 13:46:02 -0700 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@parabola.nu> | 2024-02-21 13:59:38 -0700 |
commit | 3bf33e25b2ce0fbbcd0e4bac27d8a3e7e0a7e34c (patch) | |
tree | dee106baa0cb18756690ad8ea651aa3e699e9930 | |
parent | 08378bc188fc6549d2fc58456a8173c4781e80f0 (diff) |
test: pkgbuild-check-nonfree: Add more tests (some failing/skipped)
8 files changed, 223 insertions, 2 deletions
diff --git a/test/cases/pkgbuild-check-nonfree.bats b/test/cases/pkgbuild-check-nonfree.bats index 7e3bcc9..15ef332 100644 --- a/test/cases/pkgbuild-check-nonfree.bats +++ b/test/cases/pkgbuild-check-nonfree.bats @@ -9,6 +9,7 @@ setup() { eot install -Dm644 /dev/stdin "$XDG_CACHE_HOME/libretools/blacklist.txt" <<-eot linux:linux-libre:nonfree blobs and firmwares + rubygemsx:rubygemsx:repackaged skype eot } @@ -22,9 +23,9 @@ declare -rig _E_LIC_NONFREE=8 declare -rig _E_DEP_NONFREE=16 declare -rig _E_PKG_NONFREE=32 -# Make sure these match pkgbuild-check-nonfree (libremessages) +# Make sure these match pkgbuild-summarize-nonfree (libremessages) declare -rig EXIT_SUCCESS=0 -declare -rig EXIT_FAILURE=0 +declare -rig EXIT_FAILURE=1 # basic operation ############################################################## @@ -63,7 +64,62 @@ declare -rig EXIT_FAILURE=0 [[ $status == $_E_OK ]] } +# _E_DEP_LIC_UNKNOWN +@test "pkgbuild-check-nonfree warns about unknown licenses" { + pkgbuild-check-nonfree fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-unknown >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $_E_LIC_UNKNOWN ]] + + local pcn_stat=$status + status=0 + + pkgbuild-summarize-nonfree $pcn_stat >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $EXIT_SUCCESS ]] +} + +# _E_DEP_LIC_NOGPL +@test "pkgbuild-check-nonfree warns about GPL-incompatible licenses" { + pkgbuild-check-nonfree fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-nogpl >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $_E_LIC_NOGPL ]] + + local pcn_stat=$status + status=0 + + pkgbuild-summarize-nonfree $pcn_stat >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $EXIT_SUCCESS ]] +} + +# _E_DEP_LIC_NONFREE +@test "pkgbuild-check-nonfree fails on nonfree licenses" { + pkgbuild-check-nonfree fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-nonfree >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $_E_LIC_NONFREE ]] + + local pcn_stat=$status + status=0 + + pkgbuild-summarize-nonfree $pcn_stat >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $EXIT_FAILURE ]] +} + # _E_DEP_NONFREE +@test "pkgbuild-check-nonfree succeeds for repackaged depend" { + skip # FIXME/BUG + pkgbuild-check-nonfree fixtures/pkgbuild-check-nonfree/PKGBUILD.dep-repackaged >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $_E_OK ]] +} @test "pkgbuild-check-nonfree succeeds for nonfree depend with replacement" { pkgbuild-check-nonfree fixtures/pkgbuild-check-nonfree/PKGBUILD.dep-nonfree-replacement >$tmpdir/stdout 2>$tmpdir/stderr || status=$? empty $tmpdir/stdout @@ -84,3 +140,42 @@ declare -rig EXIT_FAILURE=0 not empty $tmpdir/stderr [[ $status == $EXIT_FAILURE ]] } + +# _E_PKG_NONFREE +@test "pkgbuild-check-nonfree succeeds for repackaged package" { + skip # FIXME/BUG + pkgbuild-check-nonfree fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-repackaged >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $_E_OK ]] +} +@test "pkgbuild-check-nonfree fails for package with replacement" { + skip # FIXME/BUG + pkgbuild-check-nonfree fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-nonfree-replacement >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + echo [[ $status == $_E_PKG_NONFREE ]] + [[ $status == $_E_PKG_NONFREE ]] + + local pcn_stat=$status + status=0 + + pkgbuild-summarize-nonfree $pcn_stat >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $EXIT_FAILURE ]] +} +@test "pkgbuild-check-nonfree fails for nonfree package" { + pkgbuild-check-nonfree fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-nonfree >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $_E_PKG_NONFREE ]] + + local pcn_stat=$status + status=0 + + pkgbuild-summarize-nonfree $pcn_stat >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + empty $tmpdir/stdout + not empty $tmpdir/stderr + [[ $status == $EXIT_FAILURE ]] +} diff --git a/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.dep-repackaged b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.dep-repackaged new file mode 100644 index 0000000..2d98f1e --- /dev/null +++ b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.dep-repackaged @@ -0,0 +1,18 @@ +pkgname=wmii +pkgver=3.9.2 +pkgrel=3 +pkgdesc="A small, dynamic window manager for X11" +arch=('i686' 'x86_64') +license=('MIT') +url="http://wmii.suckless.org/" +depends=('rubygemsx') # random package that is repackaged with the same name +source=() +md5sums=() + +build() { + : +} + +package() { + : +} diff --git a/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-nogpl b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-nogpl new file mode 100644 index 0000000..f351864 --- /dev/null +++ b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-nogpl @@ -0,0 +1,18 @@ +pkgname=wmii +pkgver=3.9.2 +pkgrel=3 +pkgdesc="A small, dynamic window manager for X11" +arch=('i686' 'x86_64') +license=('custom:BSD4') +url="http://wmii.suckless.org/" +depends=('libxft' 'libxrandr' 'libxinerama' 'dash') +source=() +md5sums=() + +build() { + : +} + +package() { + : +} diff --git a/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-nonfree b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-nonfree new file mode 100644 index 0000000..0fc3b0b --- /dev/null +++ b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-nonfree @@ -0,0 +1,18 @@ +pkgname=wmii +pkgver=3.9.2 +pkgrel=3 +pkgdesc="A small, dynamic window manager for X11" +arch=('i686' 'x86_64') +license=('JSON') +url="http://wmii.suckless.org/" +depends=('libxft' 'libxrandr' 'libxinerama' 'dash') +source=() +md5sums=() + +build() { + : +} + +package() { + : +} diff --git a/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-unknown b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-unknown new file mode 100644 index 0000000..f4b136b --- /dev/null +++ b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-unknown @@ -0,0 +1,18 @@ +pkgname=wmii +pkgver=3.9.2 +pkgrel=3 +pkgdesc="A small, dynamic window manager for X11" +arch=('i686' 'x86_64') +license=('custom:my-very-special-license') +url="http://wmii.suckless.org/" +depends=('libxft' 'libxrandr' 'libxinerama' 'dash') +source=() +md5sums=() + +build() { + : +} + +package() { + : +} diff --git a/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-nonfree b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-nonfree new file mode 100644 index 0000000..da3f416 --- /dev/null +++ b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-nonfree @@ -0,0 +1,18 @@ +pkgname=skype +pkgver=3.9.2 +pkgrel=3 +pkgdesc="A small, dynamic window manager for X11" +arch=('i686' 'x86_64') +license=('MIT') +url="http://wmii.suckless.org/" +depends=('libxft' 'libxrandr' 'libxinerama' 'dash') +source=() +md5sums=() + +build() { + : +} + +package() { + : +} diff --git a/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-nonfree-replacement b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-nonfree-replacement new file mode 100644 index 0000000..5242121 --- /dev/null +++ b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-nonfree-replacement @@ -0,0 +1,18 @@ +pkgname=linux +pkgver=3.9.2 +pkgrel=3 +pkgdesc="A small, dynamic window manager for X11" +arch=('i686' 'x86_64') +license=('MIT') +url="http://wmii.suckless.org/" +depends=('libxft' 'libxrandr' 'libxinerama' 'dash') +source=() +md5sums=() + +build() { + : +} + +package() { + : +} diff --git a/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-repackaged b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-repackaged new file mode 100644 index 0000000..5a101b3 --- /dev/null +++ b/test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-repackaged @@ -0,0 +1,18 @@ +pkgname=rubygemsx +pkgver=3.9.2 +pkgrel=3 +pkgdesc="A small, dynamic window manager for X11" +arch=('i686' 'x86_64') +license=('MIT') +url="http://wmii.suckless.org/" +depends=('libxft' 'libxrandr' 'libxinerama' 'dash') +source=() +md5sums=() + +build() { + : +} + +package() { + : +} |