summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjasper <jasper@openbsd.org>2011-06-07 13:05:37 +0000
committerjasper <jasper@openbsd.org>2011-06-07 13:05:37 +0000
commitacfa513af01de03eafdf1678ee6f3e9441079a81 (patch)
tree0bf556bef4612fbc7995e8461945fb80dc30ca2c
parentprevent stringize from messing up the Name field (diff)
downloadwireguard-openbsd-acfa513af01de03eafdf1678ee6f3e9441079a81.tar.xz
wireguard-openbsd-acfa513af01de03eafdf1678ee6f3e9441079a81.zip
- add extensive testing for various versioned suffix combinations
- put pkg-config in a variable so it's easier to test with fd.o pkg-config too
-rw-r--r--regress/usr.bin/pkg-config/Makefile198
-rw-r--r--regress/usr.bin/pkg-config/pcdir/alpha.pc3
-rw-r--r--regress/usr.bin/pkg-config/pcdir/beta.pc3
-rw-r--r--regress/usr.bin/pkg-config/pcdir/rc.pc3
4 files changed, 180 insertions, 27 deletions
diff --git a/regress/usr.bin/pkg-config/Makefile b/regress/usr.bin/pkg-config/Makefile
index 82a4597cf17..2fba04c86f9 100644
--- a/regress/usr.bin/pkg-config/Makefile
+++ b/regress/usr.bin/pkg-config/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.11 2011/06/07 12:18:22 jasper Exp $
+# $OpenBSD: Makefile,v 1.12 2011/06/07 13:05:37 jasper Exp $
REGRESS_TARGETS=cmp-vers1-1 \
cmp-vers1-2 \
@@ -8,6 +8,22 @@ REGRESS_TARGETS=cmp-vers1-1 \
cmp-vers2-3 \
cmp-vers2-4 \
cmp-vers3 \
+ cmp-vers4-1 \
+ cmp-vers4-2 \
+ cmp-vers4-3 \
+ cmp-vers4-4 \
+ cmp-vers4-5 \
+ cmp-vers4-6 \
+ cmp-vers4-7 \
+ cmp-vers4-8 \
+ cmp-vers4-9 \
+ cmp-vers5-1 \
+ cmp-vers5-2 \
+ cmp-vers5-3 \
+ cmp-vers5-4 \
+ cmp-vers5-5 \
+ cmp-vers5-6 \
+ cmp-vers5-7 \
corrupt1 \
corrupt2 \
print-provides \
@@ -23,6 +39,7 @@ REGRESS_TARGETS=cmp-vers1-1 \
whitespace-libs \
whitespace-name
+PKG_CONFIG= pkg-config
WANT= ${.OBJDIR}/$@.want
GOT= ${.OBJDIR}/$@.got
@@ -30,14 +47,14 @@ GOT= ${.OBJDIR}/$@.got
corrupt1:
# Test for missing variables/fields
@echo "Package 'corrupt1' has no Version: field" > ${WANT}
- @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config \
+ @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} \
--exists $@ 2> ${GOT}; then false; fi
@diff -u ${WANT} ${GOT}
corrupt2:
# Test for missing variables/fields
@echo "Package 'corrupt2' has no Name: field" > ${WANT}
- @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config \
+ @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} \
--exists $@ 2> ${GOT}; then false; fi
@diff -u ${WANT} ${GOT}
@@ -45,67 +62,194 @@ corrupt2:
print-provides:
# Test --print-provides
@echo "print-provides = 0.0.0" > ${WANT}
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config \
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} \
--print-provides $@ > ${GOT}
@diff -u ${WANT} ${GOT}
print-req:
# Test --print-requires
@echo "print-req2>=0.0.1" > ${WANT}
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config \
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} \
--print-requires $@ > $@.got
@diff -u ${WANT} ${GOT}
print-req-priv:
# Test --print-requires-private
@echo "print-req-priv2>=0.0.1" > ${WANT}
- @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config \
+ @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} \
--print-requires-private $@ > ${GOT}; then false; fi
@diff -u ${WANT} ${GOT}
# Tests for version comparison
cmp-vers1-1:
# Test regular versions (a <= b)
- @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --exists \
+ @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --exists \
"vers1 <= 0.0.2"; then false; fi
cmp-vers1-2:
# Test regular versions (a <= b)
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --exists "vers1 <= 0.1.0"
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --exists "vers1 <= 0.1.0"
cmp-vers1-3:
# Test regular versions (a < b)
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --exists "vers1 < 0.2"
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --exists "vers1 < 0.2"
cmp-vers2-1:
# Test regular versions (a >= b)
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --exists "vers2 >= 0.0.1"
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --exists "vers2 >= 0.0.1"
cmp-vers2-2:
# Test regular versions (a >= b)
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --exists "vers2 >= 0.0.0"
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --exists "vers2 >= 0.0.0"
cmp-vers2-3:
# Test regular versions (a >= b)
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --exists "vers2 >= 0.1.0"
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --exists "vers2 >= 0.1.0"
cmp-vers2-4:
# Test regular versions (a >= b)
- @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --exists \
+ @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --exists \
"vers2 > 0.2.0.0"; then false; fi
cmp-vers3:
# Test regular versions (a = b)
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --exists "vers2 = 0.2.0"
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --exists "vers2 = 0.2.0"
+
+cmp-vers4-1:
+ # Test suffixed versions (alpha >)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha > 0.1.0" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers4-2:
+ # Test suffixed versions (alpha >)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha > 0.1.0alpha1" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers4-3:
+ # Test suffixed versions (alpha >=)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha >= 0.1.0" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers4-4:
+ # Test suffixed versions (alpha >=)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha >= 0.1.0alpha2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers4-5:
+ # Test suffixed versions (alpha <)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha < 0.1.1" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers4-6:
+ # Test suffixed versions (alpha <)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha < 0.1.0alpha3" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers4-7:
+ # Test suffixed versions (alpha <=)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha < 0.1.1" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers4-8:
+ # Test suffixed versions (alpha <=)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha <= 0.1.0alpha2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers4-9:
+ # Test suffixed versions (alpha =)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha = 0.1.0alpha2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
-cmp-vers4:
- # Test suffixed versions (alpha)
-cmp-vers5:
- # Test suffixed versions (beta)
+cmp-vers5-1:
+ # Test suffixed versions (beta > alpha)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "beta > 0.1.0alpha1" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers5-2:
+ # Test suffixed versions (beta >= alpha)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "beta >= 0.1.0beta1" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers5-3:
+ # Test suffixed versions (alpha < rc)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha < 0.1.0rc2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers5-4:
+ # Test suffixed versions (beta < rc)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "beta < 0.1.0rc2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers5-5:
+ # Test suffixed versions (alpha < beta)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "alpha < 0.1.0beta2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
-cmp-vers6:
- # Test suffixed versions (rc)
+cmp-vers5-6:
+ # Test suffixed versions (rc > alpha)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "rc > 0.1.0alpha2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers5-7:
+ # Test suffixed versions (rc > beta)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "rc > 0.1.0beta2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+# These tests also fail with fd.o pkg-config, so keep them for later
+# to decide how our pkg-config should behave.
+cmp-vers5-8:
+ # Test suffixed versions (' ' > alpha)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "vers1 > 0.1.0alpha2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers5-9:
+ # Test suffixed versions (' ' > beta)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "beta <= 0.1.0beta2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
+
+cmp-vers5-10:
+ # Test suffixed versions (' ' > rc)
+ @touch ${WANT}
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --short-errors \
+ --errors-to-stdout --print-errors "beta <= 0.1.0rc2" > ${GOT}
+ @diff -u ${WANT} ${GOT}
# Tests for various environment variables
builddir:
@@ -116,21 +260,21 @@ logfile:
@echo "[/usr/bin/pkg-config] [--exists] [sysroot >= 0.0.0]" > ${WANT}
@rm -f ${GOT}
@PKG_CONFIG_PATH=${.CURDIR}/pcdir/ PKG_CONFIG_LOG=${GOT} \
- pkg-config --exists "sysroot >= 0.0.0"
+ ${PKG_CONFIG} --exists "sysroot >= 0.0.0"
@diff -u ${WANT} ${GOT}
sysroot-cflags:
# Test PKG_CONFIG_SYSROOT_DIR (cflags)
@echo "-I/altroot/tmp/include -I/altroot/tmp/include/foo" > ${WANT}
@PKG_CONFIG_PATH=${.CURDIR}/pcdir/ PKG_CONFIG_SYSROOT_DIR=/altroot \
- pkg-config --cflags sysroot > ${GOT}
+ ${PKG_CONFIG} --cflags sysroot > ${GOT}
@diff -u ${WANT} ${GOT}
sysroot-libs:
# Test PKG_CONFIG_SYSROOT_DIR (libs)
@echo "-L/altroot/tmp/lib -L/altroot/tmp/lib/foo -lc" > ${WANT}
@PKG_CONFIG_PATH=${.CURDIR}/pcdir/ PKG_CONFIG_SYSROOT_DIR=/altroot \
- pkg-config --libs sysroot > ${GOT}
+ ${PKG_CONFIG} --libs sysroot > ${GOT}
@diff -u ${WANT} ${GOT}
# Misc. tests
@@ -156,28 +300,28 @@ missing-req-2:
missing-req-3:
@echo "0.0.0" > ${WANT}
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --modversion \
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --modversion \
missing-req > ${GOT}
@diff -u ${WANT} ${GOT}
whitespace-cflags:
# Test whitespace on various positions in Cflags
@echo "-I/tmp/include -I/tmp/include/include\ dir" > ${WANT}
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --cflags \
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --cflags \
whitespace > ${GOT}
@diff -u ${WANT} ${GOT}
whitespace-libs:
# Test whitespace on various positions in Libs
@echo "-L/tmp/lib -L/tmp/lib/foo -lbaz\ quux" > ${WANT}
- @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --libs \
+ @PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --libs \
whitespace > ${GOT}
@diff -u ${WANT} ${GOT}
whitespace-name:
# Test whitespace in Name
@echo "Requested 'whitespace > 0.2.0' but version of Whitespace test is 0.0.0" > ${WANT}
- @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ pkg-config --print-errors \
+ @if PKG_CONFIG_PATH=${.CURDIR}/pcdir/ ${PKG_CONFIG} --print-errors \
"whitespace > 0.2.0" 2> ${GOT}; then false; fi
@diff -u ${WANT} ${GOT}
diff --git a/regress/usr.bin/pkg-config/pcdir/alpha.pc b/regress/usr.bin/pkg-config/pcdir/alpha.pc
new file mode 100644
index 00000000000..5f8e16ca39b
--- /dev/null
+++ b/regress/usr.bin/pkg-config/pcdir/alpha.pc
@@ -0,0 +1,3 @@
+Name: alpha suffix test
+Description: pkg-config(1) regress file
+Version: 0.1.0alpha2
diff --git a/regress/usr.bin/pkg-config/pcdir/beta.pc b/regress/usr.bin/pkg-config/pcdir/beta.pc
new file mode 100644
index 00000000000..debfbf4e757
--- /dev/null
+++ b/regress/usr.bin/pkg-config/pcdir/beta.pc
@@ -0,0 +1,3 @@
+Name: beta suffix test
+Description: pkg-config(1) regress file
+Version: 0.1.0beta2
diff --git a/regress/usr.bin/pkg-config/pcdir/rc.pc b/regress/usr.bin/pkg-config/pcdir/rc.pc
new file mode 100644
index 00000000000..f1b2d9375ed
--- /dev/null
+++ b/regress/usr.bin/pkg-config/pcdir/rc.pc
@@ -0,0 +1,3 @@
+Name: rc suffix test
+Description: pkg-config(1) regress file
+Version: 0.1.0rc2