summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@parabola.nu>2024-02-21 13:46:02 -0700
committerLuke T. Shumaker <lukeshu@parabola.nu>2024-02-21 13:59:38 -0700
commit3bf33e25b2ce0fbbcd0e4bac27d8a3e7e0a7e34c (patch)
treedee106baa0cb18756690ad8ea651aa3e699e9930
parent08378bc188fc6549d2fc58456a8173c4781e80f0 (diff)
test: pkgbuild-check-nonfree: Add more tests (some failing/skipped)
-rw-r--r--test/cases/pkgbuild-check-nonfree.bats99
-rw-r--r--test/fixtures/pkgbuild-check-nonfree/PKGBUILD.dep-repackaged18
-rw-r--r--test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-nogpl18
-rw-r--r--test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-nonfree18
-rw-r--r--test/fixtures/pkgbuild-check-nonfree/PKGBUILD.lic-unknown18
-rw-r--r--test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-nonfree18
-rw-r--r--test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-nonfree-replacement18
-rw-r--r--test/fixtures/pkgbuild-check-nonfree/PKGBUILD.pkg-repackaged18
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() {
+ :
+}