aboutsummaryrefslogtreecommitdiff
path: root/tests/lib1
diff options
context:
space:
mode:
authorPierre Pronchery <khorben@FreeBSD.org>2026-04-22 13:13:41 +0000
committerPierre Pronchery <khorben@FreeBSD.org>2026-04-22 13:13:41 +0000
commit6294b6ab217a2d5f1d2bc23a64505a228294c508 (patch)
tree333ee95d0d49af6cfc4390c1ec90098e6493e332 /tests/lib1
Diffstat (limited to 'tests/lib1')
-rw-r--r--tests/lib1/argv-parse-2.pc10
-rw-r--r--tests/lib1/argv-parse-3.pc11
-rw-r--r--tests/lib1/argv-parse.pc10
-rw-r--r--tests/lib1/bar.pc10
-rw-r--r--tests/lib1/baz.pc11
-rw-r--r--tests/lib1/billion-laughs.pc13
-rw-r--r--tests/lib1/c-comment.pc17
-rw-r--r--tests/lib1/case-sensitivity.pc7
-rw-r--r--tests/lib1/cflags-internal.pc9
-rw-r--r--tests/lib1/cflags-libs-only.pc10
-rw-r--r--tests/lib1/cflags-libs-private-a.pc7
-rw-r--r--tests/lib1/cflags-libs-private-b.pc7
-rw-r--r--tests/lib1/cflags-libs-private-c.pc6
-rw-r--r--tests/lib1/cflags-whitespace-trailing.pc4
-rw-r--r--tests/lib1/cflags-whitespace.pc4
-rw-r--r--tests/lib1/child-prefix/pkgconfig/child-prefix-1.pc11
-rw-r--r--tests/lib1/circular-1.pc11
-rw-r--r--tests/lib1/circular-2.pc11
-rw-r--r--tests/lib1/circular-3.pc11
-rw-r--r--tests/lib1/comments-in-fields.pc9
-rw-r--r--tests/lib1/comments.pc6
-rw-r--r--tests/lib1/conflicts.pc11
-rw-r--r--tests/lib1/depgraph-break.pc12
-rw-r--r--tests/lib1/dos-lineendings.pc10
-rw-r--r--tests/lib1/empty-tuple.pc6
-rw-r--r--tests/lib1/escaped-backslash.pc4
-rw-r--r--tests/lib1/explicit-sysroot.pc7
-rw-r--r--tests/lib1/flag-order-1.pc10
-rw-r--r--tests/lib1/flag-order-3.pc10
-rw-r--r--tests/lib1/foo.pc12
-rw-r--r--tests/lib1/foobar.pc12
-rw-r--r--tests/lib1/fragment-collision-1.pc4
-rw-r--r--tests/lib1/fragment-collision-2.pc4
-rw-r--r--tests/lib1/fragment-collision-intermediary.pc5
-rw-r--r--tests/lib1/fragment-collision.pc6
-rw-r--r--tests/lib1/fragment-comment.pc4
-rw-r--r--tests/lib1/fragment-escaping-1.pc5
-rw-r--r--tests/lib1/fragment-escaping-2.pc4
-rw-r--r--tests/lib1/fragment-escaping-3.pc4
-rw-r--r--tests/lib1/fragment-group-a.pc4
-rw-r--r--tests/lib1/fragment-group-b.pc4
-rw-r--r--tests/lib1/fragment-group-c.pc4
-rw-r--r--tests/lib1/fragment-groups-2.pc4
-rw-r--r--tests/lib1/fragment-groups.pc4
-rw-r--r--tests/lib1/fragment-quoting-2.pc10
-rw-r--r--tests/lib1/fragment-quoting-3.pc10
-rw-r--r--tests/lib1/fragment-quoting-5.pc10
-rw-r--r--tests/lib1/fragment-quoting-7.pc4
-rw-r--r--tests/lib1/fragment-quoting.pc10
-rw-r--r--tests/lib1/framework-1.pc9
-rw-r--r--tests/lib1/framework-2.pc10
-rw-r--r--tests/lib1/idirafter-ordering.pc4
-rw-r--r--tests/lib1/idirafter.pc4
-rw-r--r--tests/lib1/incomplete.pc4
-rw-r--r--tests/lib1/intermediary-1.pc10
-rw-r--r--tests/lib1/intermediary-2.pc10
-rw-r--r--tests/lib1/isystem.pc4
-rw-r--r--tests/lib1/malformed-1.pc2
-rw-r--r--tests/lib1/malformed-quoting.pc4
-rw-r--r--tests/lib1/malformed-version.pc5
-rw-r--r--tests/lib1/metapackage-1.pc6
-rw-r--r--tests/lib1/metapackage-2.pc5
-rw-r--r--tests/lib1/metapackage-3.pc4
-rw-r--r--tests/lib1/metapackage.pc4
-rw-r--r--tests/lib1/missing-require.pc11
-rw-r--r--tests/lib1/multiline-bogus.pc9
-rw-r--r--tests/lib1/multiline.pc9
-rw-r--r--tests/lib1/no-trailing-newline.pc10
-rw-r--r--tests/lib1/nocflag.pc9
-rw-r--r--tests/lib1/nolib.pc9
-rw-r--r--tests/lib1/omg-sysroot-uninstalled.pc10
-rw-r--r--tests/lib1/omg-uninstalled.pc10
-rw-r--r--tests/lib1/orphaned-requires-private.pc8
-rw-r--r--tests/lib1/paren-quoting.pc5
-rw-r--r--tests/lib1/pcfiledir.pc8
-rw-r--r--tests/lib1/prefix-foo1.pc12
-rw-r--r--tests/lib1/prefix-foo2.pc12
-rw-r--r--tests/lib1/private-libs-duplication.pc7
-rw-r--r--tests/lib1/provides-request-simple.pc6
-rw-r--r--tests/lib1/provides.pc6
-rw-r--r--tests/lib1/quotes.pc10
-rw-r--r--tests/lib1/requires-internal-2.pc9
-rw-r--r--tests/lib1/requires-internal-collision.pc10
-rw-r--r--tests/lib1/requires-internal-missing.pc10
-rw-r--r--tests/lib1/requires-internal.pc10
-rw-r--r--tests/lib1/spaces-in-paths.pc7
-rw-r--r--tests/lib1/static-archive-libs.pc10
-rw-r--r--tests/lib1/static-libs.pc12
-rw-r--r--tests/lib1/sysroot-dir-2.pc7
-rw-r--r--tests/lib1/sysroot-dir-3.pc9
-rw-r--r--tests/lib1/sysroot-dir-4.pc9
-rw-r--r--tests/lib1/sysroot-dir-5.pc9
-rw-r--r--tests/lib1/sysroot-dir.pc5
-rw-r--r--tests/lib1/tilde-quoting.pc5
-rw-r--r--tests/lib1/tilde.pc11
-rw-r--r--tests/lib1/truncated.pc1
-rw-r--r--tests/lib1/tuple-quoting.pc7
-rw-r--r--tests/lib1/typelibdir.pc11
-rw-r--r--tests/lib1/unavailable-provider.pc11
-rw-r--r--tests/lib1/utf8.pc10
-rw-r--r--tests/lib1/variable-whitespace.pc11
101 files changed, 799 insertions, 0 deletions
diff --git a/tests/lib1/argv-parse-2.pc b/tests/lib1/argv-parse-2.pc
new file mode 100644
index 000000000000..cfc0fcf904b2
--- /dev/null
+++ b/tests/lib1/argv-parse-2.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: argv-parse-2
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -llib-1 -pthread ${libdir}/lib2.so
+Cflags:
diff --git a/tests/lib1/argv-parse-3.pc b/tests/lib1/argv-parse-3.pc
new file mode 100644
index 000000000000..b115b3001205
--- /dev/null
+++ b/tests/lib1/argv-parse-3.pc
@@ -0,0 +1,11 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: argv-parse-3
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -llib-1 \
+ -pthread ${libdir}/lib2.so
+Cflags:
diff --git a/tests/lib1/argv-parse.pc b/tests/lib1/argv-parse.pc
new file mode 100644
index 000000000000..d445ae78e7f8
--- /dev/null
+++ b/tests/lib1/argv-parse.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: argv-parse
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -llib-3 -llib-1 -llib-2 -lpthread
+Cflags:
diff --git a/tests/lib1/bar.pc b/tests/lib1/bar.pc
new file mode 100644
index 000000000000..9157d06b5fd6
--- /dev/null
+++ b/tests/lib1/bar.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: bar
+Description: Another pkg-config test
+Version: 1.3
+Libs: -L${libdir} -lbar
+Requires: foo
diff --git a/tests/lib1/baz.pc b/tests/lib1/baz.pc
new file mode 100644
index 000000000000..d9cb258020bc
--- /dev/null
+++ b/tests/lib1/baz.pc
@@ -0,0 +1,11 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: bar
+Description: Another pkg-config test (with private Requires, ha!)
+Version: 1.3
+Libs: -L${libdir} -lbaz
+Libs.private: -L${libdir} -lzee
+Requires.private: foo
diff --git a/tests/lib1/billion-laughs.pc b/tests/lib1/billion-laughs.pc
new file mode 100644
index 000000000000..ad1ee7948b47
--- /dev/null
+++ b/tests/lib1/billion-laughs.pc
@@ -0,0 +1,13 @@
+v9=lol
+v8=${v9}${v9}${v9}${v9}${v9}${v9}${v9}${v9}${v9}${v9}
+v7=${v8}${v8}${v8}${v8}${v8}${v8}${v8}${v8}${v8}${v8}
+v6=${v7}${v7}${v7}${v7}${v7}${v7}${v7}${v7}${v7}${v7}
+v5=${v6}${v6}${v6}${v6}${v6}${v6}${v6}${v6}${v6}${v6}
+v4=${v5}${v5}${v5}${v5}${v5}${v5}${v5}${v5}${v5}${v5}
+v3=${v4}${v4}${v4}${v4}${v4}${v4}${v4}${v4}${v4}${v4}
+v2=${v3}${v3}${v3}${v3}${v3}${v3}${v3}${v3}${v3}${v3}
+v1=${v2}${v2}${v2}${v2}${v2}${v2}${v2}${v2}${v2}${v2}
+v0=${v1}${v1}${v1}${v1}${v1}${v1}${v1}${v1}${v1}${v1}
+Name: One Billion Laughs
+Version: ${v0}
+Description: Don't install this!
diff --git a/tests/lib1/c-comment.pc b/tests/lib1/c-comment.pc
new file mode 100644
index 000000000000..ed776a1f33e4
--- /dev/null
+++ b/tests/lib1/c-comment.pc
@@ -0,0 +1,17 @@
+/*
+ This is a C-style comment, which technically isn't allowed, but
+ some pkg-config files use them.
+ */
+
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: c-comment
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir} -lfoo
+Cflags: -fPIC -I${includedir}/foo
+Cflags.private: -DFOO_STATIC
+License: ISC
diff --git a/tests/lib1/case-sensitivity.pc b/tests/lib1/case-sensitivity.pc
new file mode 100644
index 000000000000..9618061c485c
--- /dev/null
+++ b/tests/lib1/case-sensitivity.pc
@@ -0,0 +1,7 @@
+foo=3
+Foo=4
+
+Name: case-sensitivity
+Description: Package for testing case-sensitivity
+Version: 1
+Requires: foo < ${foo}
diff --git a/tests/lib1/cflags-internal.pc b/tests/lib1/cflags-internal.pc
new file mode 100644
index 000000000000..500e566df716
--- /dev/null
+++ b/tests/lib1/cflags-internal.pc
@@ -0,0 +1,9 @@
+prefix=/test/local
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: cflags-internal
+Description: A testing pkg-config file
+Version: 1.2.3
+Cflags: -I${includedir}/foo
diff --git a/tests/lib1/cflags-libs-only.pc b/tests/lib1/cflags-libs-only.pc
new file mode 100644
index 000000000000..718e7cd95010
--- /dev/null
+++ b/tests/lib1/cflags-libs-only.pc
@@ -0,0 +1,10 @@
+prefix=/test/local
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: cflags-libs-only
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir} -lfoo
+Cflags: -I${includedir}/foo
diff --git a/tests/lib1/cflags-libs-private-a.pc b/tests/lib1/cflags-libs-private-a.pc
new file mode 100644
index 000000000000..fbb7742ba2e8
--- /dev/null
+++ b/tests/lib1/cflags-libs-private-a.pc
@@ -0,0 +1,7 @@
+Name: cflags-libs-private-a
+Version: 1
+Description: test case for issue #370
+Cflags:
+Libs:
+Requires.private: cflags-libs-private-b
+
diff --git a/tests/lib1/cflags-libs-private-b.pc b/tests/lib1/cflags-libs-private-b.pc
new file mode 100644
index 000000000000..0d5e5a45bfaa
--- /dev/null
+++ b/tests/lib1/cflags-libs-private-b.pc
@@ -0,0 +1,7 @@
+Name: cflags-libs-private-b
+Version: 1
+Description: test case for issue #370
+Cflags:
+Libs:
+Requires: cflags-libs-private-c
+
diff --git a/tests/lib1/cflags-libs-private-c.pc b/tests/lib1/cflags-libs-private-c.pc
new file mode 100644
index 000000000000..7efc38e4bb95
--- /dev/null
+++ b/tests/lib1/cflags-libs-private-c.pc
@@ -0,0 +1,6 @@
+Name: cflags-libs-private-c
+Version: 1
+Description: test case for issue #370
+Cflags:
+Libs: -lc
+
diff --git a/tests/lib1/cflags-whitespace-trailing.pc b/tests/lib1/cflags-whitespace-trailing.pc
new file mode 100644
index 000000000000..2e660353b00d
--- /dev/null
+++ b/tests/lib1/cflags-whitespace-trailing.pc
@@ -0,0 +1,4 @@
+Name: CFlags Trailing Whitespace Bug
+Description: Demonstrates problems with -I with spaces
+Version: 1
+Cflags: -I/usr/include -I/usr/include/foo
diff --git a/tests/lib1/cflags-whitespace.pc b/tests/lib1/cflags-whitespace.pc
new file mode 100644
index 000000000000..4cd1cd164aa6
--- /dev/null
+++ b/tests/lib1/cflags-whitespace.pc
@@ -0,0 +1,4 @@
+Name: CFlags Whitespace Bug
+Description: Demonstrates problems with -I with spaces and sysroot munging
+Version: 1
+Cflags: -I /opt/bad/include
diff --git a/tests/lib1/child-prefix/pkgconfig/child-prefix-1.pc b/tests/lib1/child-prefix/pkgconfig/child-prefix-1.pc
new file mode 100644
index 000000000000..0d32d89d9259
--- /dev/null
+++ b/tests/lib1/child-prefix/pkgconfig/child-prefix-1.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=${prefix}/lib64
+includedir=${prefix}/include
+
+Name: child-prefix-1
+Description: child prefix 1 test data
+Requires:
+Version: 1.0
+Libs: -L${libdir} -lchild-prefix-1
+Cflags: -I${includedir}/child-prefix-1
diff --git a/tests/lib1/circular-1.pc b/tests/lib1/circular-1.pc
new file mode 100644
index 000000000000..bbdb9f79cc86
--- /dev/null
+++ b/tests/lib1/circular-1.pc
@@ -0,0 +1,11 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: circular-1
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -lcircular-1
+Requires: circular-2
+Cflags:
diff --git a/tests/lib1/circular-2.pc b/tests/lib1/circular-2.pc
new file mode 100644
index 000000000000..2086834a6b85
--- /dev/null
+++ b/tests/lib1/circular-2.pc
@@ -0,0 +1,11 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: circular-2
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -lcircular-2
+Requires: circular-3
+Cflags:
diff --git a/tests/lib1/circular-3.pc b/tests/lib1/circular-3.pc
new file mode 100644
index 000000000000..e8b8e77a6c54
--- /dev/null
+++ b/tests/lib1/circular-3.pc
@@ -0,0 +1,11 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: circular-3
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -lcircular-3
+Requires: circular-1
+Cflags:
diff --git a/tests/lib1/comments-in-fields.pc b/tests/lib1/comments-in-fields.pc
new file mode 100644
index 000000000000..8e65a6557f4f
--- /dev/null
+++ b/tests/lib1/comments-in-fields.pc
@@ -0,0 +1,9 @@
+Name: comments-in-fields
+Description: Comments in fields test case
+URL: http://pkgconf.org/
+Version: 0
+Requires: # foo
+Requires.private: foo
+Libs: -lfoo # -lbar
+Libs.private: -lbar
+Cflags: -I${includedir}
diff --git a/tests/lib1/comments.pc b/tests/lib1/comments.pc
new file mode 100644
index 000000000000..be83b3e63b40
--- /dev/null
+++ b/tests/lib1/comments.pc
@@ -0,0 +1,6 @@
+Name: comments
+Description: Portable CD-ROM I/O library
+Version: 0
+#Requires: bar-2.0
+Libs: -lfoo
+Cflags: -I${includedir}
diff --git a/tests/lib1/conflicts.pc b/tests/lib1/conflicts.pc
new file mode 100644
index 000000000000..bec486982d69
--- /dev/null
+++ b/tests/lib1/conflicts.pc
@@ -0,0 +1,11 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: conflicts
+Description: A testing pkg-config file
+Conflicts: foo <= 1.3
+Version: 1.2.3
+Libs: -L${libdir} -lconflicts
+Cflags: -fPIC -I${includedir}/conflicts
diff --git a/tests/lib1/depgraph-break.pc b/tests/lib1/depgraph-break.pc
new file mode 100644
index 000000000000..61e00cc62bc1
--- /dev/null
+++ b/tests/lib1/depgraph-break.pc
@@ -0,0 +1,12 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: depgraph-break
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir} -lfoo
+Cflags: -fPIC -I${includedir}/foo
+Cflags.private: -DFOO_STATIC
+Requires: nonexistant
diff --git a/tests/lib1/dos-lineendings.pc b/tests/lib1/dos-lineendings.pc
new file mode 100644
index 000000000000..cf169f159c7d
--- /dev/null
+++ b/tests/lib1/dos-lineendings.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: dos-lineendings
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir}/dos-lineendings -ldos-lineendings
+Cflags: -fPIC -I${includedir}/dos-lineendings
diff --git a/tests/lib1/empty-tuple.pc b/tests/lib1/empty-tuple.pc
new file mode 100644
index 000000000000..a1794954a4f1
--- /dev/null
+++ b/tests/lib1/empty-tuple.pc
@@ -0,0 +1,6 @@
+xcflags=
+
+Name: empty-tuple
+Description: testing file
+Version: 1
+CFlags: ${xcflags}
diff --git a/tests/lib1/escaped-backslash.pc b/tests/lib1/escaped-backslash.pc
new file mode 100644
index 000000000000..6abcbb064597
--- /dev/null
+++ b/tests/lib1/escaped-backslash.pc
@@ -0,0 +1,4 @@
+Name: escaped-backslash
+Version: 1
+Description: test package for backslash escape scenario
+Cflags: -IC:\\A
diff --git a/tests/lib1/explicit-sysroot.pc b/tests/lib1/explicit-sysroot.pc
new file mode 100644
index 000000000000..63c7ca042bd8
--- /dev/null
+++ b/tests/lib1/explicit-sysroot.pc
@@ -0,0 +1,7 @@
+prefix=/usr
+datarootdir=${prefix}/share
+pkgdatadir=${pc_sysrootdir}/${datarootdir}/test
+
+Name: Test
+Description: Testing pc_sysrootdir auto-expansion
+Version: 1.0
diff --git a/tests/lib1/flag-order-1.pc b/tests/lib1/flag-order-1.pc
new file mode 100644
index 000000000000..d84175197b19
--- /dev/null
+++ b/tests/lib1/flag-order-1.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+cflags=-I${includedir}
+
+Name: flag order 1
+Description: test for flag ordering
+Version: 1
+Libs: -L${libdir} -Bdynamic -lfoo -Bstatic -lbar
diff --git a/tests/lib1/flag-order-3.pc b/tests/lib1/flag-order-3.pc
new file mode 100644
index 000000000000..d813f50dbf4f
--- /dev/null
+++ b/tests/lib1/flag-order-3.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+cflags=-I${includedir}
+
+Name: flag order 3
+Description: test for flag ordering
+Version: 1
+Libs: -L${libdir} -Wl,--start-group -lfoo -lbar -Wl,--end-group
diff --git a/tests/lib1/foo.pc b/tests/lib1/foo.pc
new file mode 100644
index 000000000000..daef9f9fa956
--- /dev/null
+++ b/tests/lib1/foo.pc
@@ -0,0 +1,12 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: foo
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir} -lfoo
+Cflags: -fPIC -I${includedir}/foo
+Cflags.private: -DFOO_STATIC
+License: ISC
diff --git a/tests/lib1/foobar.pc b/tests/lib1/foobar.pc
new file mode 100644
index 000000000000..e9aa84337600
--- /dev/null
+++ b/tests/lib1/foobar.pc
@@ -0,0 +1,12 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: foobar
+Description: A testing pkg-config file
+Version: 3.2.1
+Libs: -L${libdir} -lfoobar
+Cflags: -fPIC -I${includedir}/foobar
+Cflags.private: -DFOOBAR_STATIC
+License: ISC
diff --git a/tests/lib1/fragment-collision-1.pc b/tests/lib1/fragment-collision-1.pc
new file mode 100644
index 000000000000..201bcb0a5f97
--- /dev/null
+++ b/tests/lib1/fragment-collision-1.pc
@@ -0,0 +1,4 @@
+Name: fragment-collision-1
+Version: 0
+Description: fragment collision test package
+Cflags: -D_THREAD_SAFE -pthread
diff --git a/tests/lib1/fragment-collision-2.pc b/tests/lib1/fragment-collision-2.pc
new file mode 100644
index 000000000000..2e6feb4a61c2
--- /dev/null
+++ b/tests/lib1/fragment-collision-2.pc
@@ -0,0 +1,4 @@
+Name: fragment-collision-2
+Version: 0
+Description: fragment collision test package
+CFlags: -D_FOO
diff --git a/tests/lib1/fragment-collision-intermediary.pc b/tests/lib1/fragment-collision-intermediary.pc
new file mode 100644
index 000000000000..1ddb6f502cf7
--- /dev/null
+++ b/tests/lib1/fragment-collision-intermediary.pc
@@ -0,0 +1,5 @@
+Name: fragment-collision-intermediary
+Version: 0
+Description: fragment collision test package
+Requires.private: fragment-collision-1, fragment-collision-2
+CFlags: -D_BAR
diff --git a/tests/lib1/fragment-collision.pc b/tests/lib1/fragment-collision.pc
new file mode 100644
index 000000000000..c58267513da2
--- /dev/null
+++ b/tests/lib1/fragment-collision.pc
@@ -0,0 +1,6 @@
+Name: fragment-collision
+Version: 0
+Description: fragment collision test package
+Requires: fragment-collision-2, fragment-collision-intermediary
+Requires.private: fragment-collision-1
+Cflags: -D_BAZ
diff --git a/tests/lib1/fragment-comment.pc b/tests/lib1/fragment-comment.pc
new file mode 100644
index 000000000000..dfdd4f3b1dc8
--- /dev/null
+++ b/tests/lib1/fragment-comment.pc
@@ -0,0 +1,4 @@
+Name: fragment-comment
+Description: Test case for issue #215
+Version: 1.0
+Cflags: kuku=\#ttt \ No newline at end of file
diff --git a/tests/lib1/fragment-escaping-1.pc b/tests/lib1/fragment-escaping-1.pc
new file mode 100644
index 000000000000..b147951e5024
--- /dev/null
+++ b/tests/lib1/fragment-escaping-1.pc
@@ -0,0 +1,5 @@
+Name: fragment-escaping-1
+Version: 0
+Description: fragment escaping test
+Cflags: "-IC:\\D E"
+Libs: "-LC:\\D E" -lE
diff --git a/tests/lib1/fragment-escaping-2.pc b/tests/lib1/fragment-escaping-2.pc
new file mode 100644
index 000000000000..12e03b3482f5
--- /dev/null
+++ b/tests/lib1/fragment-escaping-2.pc
@@ -0,0 +1,4 @@
+Name: fragment-escaping-2
+Version: 0
+Description: fragment escaping test
+Cflags: '-IC:\D E'
diff --git a/tests/lib1/fragment-escaping-3.pc b/tests/lib1/fragment-escaping-3.pc
new file mode 100644
index 000000000000..0f002ddb084c
--- /dev/null
+++ b/tests/lib1/fragment-escaping-3.pc
@@ -0,0 +1,4 @@
+Name: fragment-escaping-3
+Version: 0
+Description: fragment escaping test
+Cflags: -IC:\\D\ E
diff --git a/tests/lib1/fragment-group-a.pc b/tests/lib1/fragment-group-a.pc
new file mode 100644
index 000000000000..0e3966eab765
--- /dev/null
+++ b/tests/lib1/fragment-group-a.pc
@@ -0,0 +1,4 @@
+Name: fragment-group-a
+Version: 1.0
+Description: Test fixture for fragment groups
+Libs: -Wl,--start-group -la -lb -Wl,--end-group
diff --git a/tests/lib1/fragment-group-b.pc b/tests/lib1/fragment-group-b.pc
new file mode 100644
index 000000000000..ac7dda7223ac
--- /dev/null
+++ b/tests/lib1/fragment-group-b.pc
@@ -0,0 +1,4 @@
+Name: fragment-group-b
+Version: 1.0
+Description: Test fixture for fragment groups
+Libs: -nodefaultlibs
diff --git a/tests/lib1/fragment-group-c.pc b/tests/lib1/fragment-group-c.pc
new file mode 100644
index 000000000000..f79965be0f1d
--- /dev/null
+++ b/tests/lib1/fragment-group-c.pc
@@ -0,0 +1,4 @@
+Name: fragment-group-c
+Version: 1.0
+Description: Test fixture for fragment groups
+Libs: -Wl,--start-group -la -lgcc -Wl,--end-group -Wl,--gc-sections
diff --git a/tests/lib1/fragment-groups-2.pc b/tests/lib1/fragment-groups-2.pc
new file mode 100644
index 000000000000..f73f70698f56
--- /dev/null
+++ b/tests/lib1/fragment-groups-2.pc
@@ -0,0 +1,4 @@
+Name: fragment-groups-2
+Version: 1.0
+Description: Test fixture for fragment groups
+Requires: fragment-group-a, fragment-group-b, fragment-group-c
diff --git a/tests/lib1/fragment-groups.pc b/tests/lib1/fragment-groups.pc
new file mode 100644
index 000000000000..9645f9e9719a
--- /dev/null
+++ b/tests/lib1/fragment-groups.pc
@@ -0,0 +1,4 @@
+Name: fragment-groups
+Version: 1.0
+Description: Test fixture for fragment groups
+Libs: -Wl,--start-group -la -lb -Wl,--end-group -nodefaultlibs -Wl,--start-group -la -lgcc -Wl,--end-group -Wl,--gc-sections
diff --git a/tests/lib1/fragment-quoting-2.pc b/tests/lib1/fragment-quoting-2.pc
new file mode 100644
index 000000000000..49c6ac79ce76
--- /dev/null
+++ b/tests/lib1/fragment-quoting-2.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: fragment-quoting
+Description: A testing pkg-config file
+Version: 1.2.3
+Cflags: -fPIC -I${includedir}/foo -DQUOTED="${prefix}/share/doc"
+Cflags.private: -DFOO_STATIC
diff --git a/tests/lib1/fragment-quoting-3.pc b/tests/lib1/fragment-quoting-3.pc
new file mode 100644
index 000000000000..4ff59fc37e0c
--- /dev/null
+++ b/tests/lib1/fragment-quoting-3.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: fragment-quoting
+Description: A testing pkg-config file
+Version: 1.2.3
+Cflags: -fPIC -I${includedir}/foo -DQUOTED=\"${prefix}/share/doc\"
+Cflags.private: -DFOO_STATIC
diff --git a/tests/lib1/fragment-quoting-5.pc b/tests/lib1/fragment-quoting-5.pc
new file mode 100644
index 000000000000..22df0b3afbaa
--- /dev/null
+++ b/tests/lib1/fragment-quoting-5.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: fragment-quoting-5
+Description: A testing pkg-config file
+Version: 1.2.3
+Cflags: -fPIC -I${includedir}/foo -DQUOTED='${prefix}/share/doc'
+Cflags.private: -DFOO_STATIC
diff --git a/tests/lib1/fragment-quoting-7.pc b/tests/lib1/fragment-quoting-7.pc
new file mode 100644
index 000000000000..902e2f634e72
--- /dev/null
+++ b/tests/lib1/fragment-quoting-7.pc
@@ -0,0 +1,4 @@
+Name: fragment-quoting-7
+Description: A testing pkg-config file, this time from Go
+Version: 1.2.3
+Cflags: -Dhello=10 -Dworld=+32 -DDEFINED_FROM_PKG_CONFIG=hello\ world
diff --git a/tests/lib1/fragment-quoting.pc b/tests/lib1/fragment-quoting.pc
new file mode 100644
index 000000000000..5d8e70b57f82
--- /dev/null
+++ b/tests/lib1/fragment-quoting.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: fragment-quoting
+Description: A testing pkg-config file
+Version: 1.2.3
+Cflags: -fPIC -I${includedir}/foo -DQUOTED='"${prefix}/share/doc"'
+Cflags.private: -DFOO_STATIC
diff --git a/tests/lib1/framework-1.pc b/tests/lib1/framework-1.pc
new file mode 100644
index 000000000000..fcaa00814837
--- /dev/null
+++ b/tests/lib1/framework-1.pc
@@ -0,0 +1,9 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: framework-1
+Description: Another pkg-config test
+Version: 1.3
+Libs: -F${libdir} -framework framework-1
diff --git a/tests/lib1/framework-2.pc b/tests/lib1/framework-2.pc
new file mode 100644
index 000000000000..793655a6cc36
--- /dev/null
+++ b/tests/lib1/framework-2.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: framework-2
+Description: Another pkg-config test
+Version: 1.3
+Libs: -F${libdir} -framework framework-2
+Requires: framework-1
diff --git a/tests/lib1/idirafter-ordering.pc b/tests/lib1/idirafter-ordering.pc
new file mode 100644
index 000000000000..c42f7022736e
--- /dev/null
+++ b/tests/lib1/idirafter-ordering.pc
@@ -0,0 +1,4 @@
+Name: Bad
+Description: Demonstrates problems with -idirafter in old pkg-config; see also https://bugs.freedesktop.org/show_bug.cgi?id=23480
+Version: 1
+Cflags: -I/opt/bad/include1 -idirafter -I/opt/bad/include2 -I/opt/bad/include3
diff --git a/tests/lib1/idirafter.pc b/tests/lib1/idirafter.pc
new file mode 100644
index 000000000000..6c37c8bffedb
--- /dev/null
+++ b/tests/lib1/idirafter.pc
@@ -0,0 +1,4 @@
+Name: Bad
+Description: Demonstrates problems with -idirafter in both old pkg-config and current pkgconf; see also https://bugs.freedesktop.org/show_bug.cgi?id=97337
+Version: 1
+Cflags: -idirafter /opt/bad/include -idirafter /opt/bad2/include
diff --git a/tests/lib1/incomplete.pc b/tests/lib1/incomplete.pc
new file mode 100644
index 000000000000..40f0d91b9fc9
--- /dev/null
+++ b/tests/lib1/incomplete.pc
@@ -0,0 +1,4 @@
+Name: incomplete
+Description: incomplete package without CFLAGS/LIBS entries (freedesktop #54271)
+Version: 1.2.3
+
diff --git a/tests/lib1/intermediary-1.pc b/tests/lib1/intermediary-1.pc
new file mode 100644
index 000000000000..38ee4830ca38
--- /dev/null
+++ b/tests/lib1/intermediary-1.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: intermediary-1
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -lintermediary-1 -lfoo -lbar -lbaz
+Cflags:
diff --git a/tests/lib1/intermediary-2.pc b/tests/lib1/intermediary-2.pc
new file mode 100644
index 000000000000..188ce6b0955f
--- /dev/null
+++ b/tests/lib1/intermediary-2.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: intermediary-2
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -lintermediary-2 -lfoo -lbar -lbaz
+Cflags:
diff --git a/tests/lib1/isystem.pc b/tests/lib1/isystem.pc
new file mode 100644
index 000000000000..98416b54ff34
--- /dev/null
+++ b/tests/lib1/isystem.pc
@@ -0,0 +1,4 @@
+Name: Bad
+Description: Demonstrates problems with -isystem in both old pkg-config and current pkgconf; see also https://bugs.freedesktop.org/show_bug.cgi?id=72584
+Version: 1
+Cflags: -isystem /opt/bad/include -isystem /opt/bad2/include
diff --git a/tests/lib1/malformed-1.pc b/tests/lib1/malformed-1.pc
new file mode 100644
index 000000000000..4f4a700f017d
--- /dev/null
+++ b/tests/lib1/malformed-1.pc
@@ -0,0 +1,2 @@
+prefix=/usr\nName: GKrellM\nDescription: Extensible GTK system monitoring application\nVersion: 2.3.7\nRequires: gtk+-2.0 >= 2.4.0\nCflags: -I/usr/include\n
+
diff --git a/tests/lib1/malformed-quoting.pc b/tests/lib1/malformed-quoting.pc
new file mode 100644
index 000000000000..b8a324edadda
--- /dev/null
+++ b/tests/lib1/malformed-quoting.pc
@@ -0,0 +1,4 @@
+Name: malformed-quoting
+Version: 1
+Description: None.
+Cflags: '-I/ABC
diff --git a/tests/lib1/malformed-version.pc b/tests/lib1/malformed-version.pc
new file mode 100644
index 000000000000..41222cc358b3
--- /dev/null
+++ b/tests/lib1/malformed-version.pc
@@ -0,0 +1,5 @@
+Name: malformed-version
+Version: 3.922 2018-03-17
+Description: None.
+Cflags: -Ifoo
+Libs: -lbar
diff --git a/tests/lib1/metapackage-1.pc b/tests/lib1/metapackage-1.pc
new file mode 100644
index 000000000000..bb59db1a7406
--- /dev/null
+++ b/tests/lib1/metapackage-1.pc
@@ -0,0 +1,6 @@
+Name: metapackage-1
+Version: 0.1
+Description: metapackage for testing purposes
+Requires.private: metapackage-2
+Libs: -lmetapackage-1
+Cflags: -I/metapackage-1
diff --git a/tests/lib1/metapackage-2.pc b/tests/lib1/metapackage-2.pc
new file mode 100644
index 000000000000..d8bf7d6b37a1
--- /dev/null
+++ b/tests/lib1/metapackage-2.pc
@@ -0,0 +1,5 @@
+Name: metapackage-2
+Version: 0.1
+Description: metapackage for testing purposes
+Libs: -lmetapackage-2
+Cflags: -I/metapackage-2
diff --git a/tests/lib1/metapackage-3.pc b/tests/lib1/metapackage-3.pc
new file mode 100644
index 000000000000..111954a04fce
--- /dev/null
+++ b/tests/lib1/metapackage-3.pc
@@ -0,0 +1,4 @@
+Name: metapackage-3
+Version: 0.1
+Description: metapackage for testing purposes
+Requires.private: bar
diff --git a/tests/lib1/metapackage.pc b/tests/lib1/metapackage.pc
new file mode 100644
index 000000000000..3ce0db354a35
--- /dev/null
+++ b/tests/lib1/metapackage.pc
@@ -0,0 +1,4 @@
+Name: metapackage
+Version: 0.1
+Description: metapackage for testing purposes
+Requires: metapackage-1, metapackage-2
diff --git a/tests/lib1/missing-require.pc b/tests/lib1/missing-require.pc
new file mode 100644
index 000000000000..ede148d85e8c
--- /dev/null
+++ b/tests/lib1/missing-require.pc
@@ -0,0 +1,11 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: missing-require
+Description: A testing pkg-config file
+Version: 1.2.3
+Requires.private: missing
+Libs: -L${libdir} -lfoo
+Cflags: -fPIC -I${includedir}/foo
diff --git a/tests/lib1/multiline-bogus.pc b/tests/lib1/multiline-bogus.pc
new file mode 100644
index 000000000000..c7f00653c7ca
--- /dev/null
+++ b/tests/lib1/multiline-bogus.pc
@@ -0,0 +1,9 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: multiline
+Description: A multiline
+description blah blah blah
+Version: 1.2.3
diff --git a/tests/lib1/multiline.pc b/tests/lib1/multiline.pc
new file mode 100644
index 000000000000..75b5902f894c
--- /dev/null
+++ b/tests/lib1/multiline.pc
@@ -0,0 +1,9 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: multiline
+Description: A multiline \
+ description
+Version: 1.2.3
diff --git a/tests/lib1/no-trailing-newline.pc b/tests/lib1/no-trailing-newline.pc
new file mode 100644
index 000000000000..eaf2f8f21910
--- /dev/null
+++ b/tests/lib1/no-trailing-newline.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: no-trailing-newline
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir}/no-trailing-newline -lno-trailing-newline
+Cflags: -I${includedir}/no-trailing-newline
diff --git a/tests/lib1/nocflag.pc b/tests/lib1/nocflag.pc
new file mode 100644
index 000000000000..0a3d7524cf4e
--- /dev/null
+++ b/tests/lib1/nocflag.pc
@@ -0,0 +1,9 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: foo
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir} -lfoo
diff --git a/tests/lib1/nolib.pc b/tests/lib1/nolib.pc
new file mode 100644
index 000000000000..b47e30c27a8e
--- /dev/null
+++ b/tests/lib1/nolib.pc
@@ -0,0 +1,9 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: foo
+Description: A testing pkg-config file
+Version: 1.2.3
+Cflags: -fPIC -I${includedir}/foo
diff --git a/tests/lib1/omg-sysroot-uninstalled.pc b/tests/lib1/omg-sysroot-uninstalled.pc
new file mode 100644
index 000000000000..7e391b951e18
--- /dev/null
+++ b/tests/lib1/omg-sysroot-uninstalled.pc
@@ -0,0 +1,10 @@
+prefix=${pc_sysrootdir}/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: omg-sysroot
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir} -lomg
+Cflags: -fPIC -I${includedir}/omg
diff --git a/tests/lib1/omg-uninstalled.pc b/tests/lib1/omg-uninstalled.pc
new file mode 100644
index 000000000000..17d8078aa68a
--- /dev/null
+++ b/tests/lib1/omg-uninstalled.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: omg
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir} -lomg
+Cflags: -fPIC -I${includedir}/omg
diff --git a/tests/lib1/orphaned-requires-private.pc b/tests/lib1/orphaned-requires-private.pc
new file mode 100644
index 000000000000..c62bab4459eb
--- /dev/null
+++ b/tests/lib1/orphaned-requires-private.pc
@@ -0,0 +1,8 @@
+Name: orphaned-requires-private
+Version: 1
+Description: A testing module for pkgconf
+URL: http://www.pkgconf.org/
+Requires: foo
+Requires.private: orphaned-foo
+Cflags: -DUNREACHABLE
+Libs:
diff --git a/tests/lib1/paren-quoting.pc b/tests/lib1/paren-quoting.pc
new file mode 100644
index 000000000000..08ed49d0258e
--- /dev/null
+++ b/tests/lib1/paren-quoting.pc
@@ -0,0 +1,5 @@
+Name: paren-quoting
+Description: Another pkg-config test
+Version: 1.3
+Libs: -L$(libdir) -ltilde
+Cflags: -I$(includedir)
diff --git a/tests/lib1/pcfiledir.pc b/tests/lib1/pcfiledir.pc
new file mode 100644
index 000000000000..fa6ada923c42
--- /dev/null
+++ b/tests/lib1/pcfiledir.pc
@@ -0,0 +1,8 @@
+prefix=${pcfiledir}
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: foo
+Description: A testing pkg-config file with a ${pcfiledir}
+Version: 1.2.3
diff --git a/tests/lib1/prefix-foo1.pc b/tests/lib1/prefix-foo1.pc
new file mode 100644
index 000000000000..7a6e90089646
--- /dev/null
+++ b/tests/lib1/prefix-foo1.pc
@@ -0,0 +1,12 @@
+prefix=/test/bar
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: prefix-foo1
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir} -lfoo1
+Cflags: -fPIC -I${includedir}/foo -DBAR
+Cflags.private: -DFOO_STATIC
+
diff --git a/tests/lib1/prefix-foo2.pc b/tests/lib1/prefix-foo2.pc
new file mode 100644
index 000000000000..0546975e2307
--- /dev/null
+++ b/tests/lib1/prefix-foo2.pc
@@ -0,0 +1,12 @@
+prefix=/test/bar
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: prefix-foo2
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir} -lfoo2
+Cflags: -fPIC -I${includedir}/foo -DFOO
+Cflags.private: -DFOO_STATIC
+
diff --git a/tests/lib1/private-libs-duplication.pc b/tests/lib1/private-libs-duplication.pc
new file mode 100644
index 000000000000..7f0f57343609
--- /dev/null
+++ b/tests/lib1/private-libs-duplication.pc
@@ -0,0 +1,7 @@
+Name: private-libs-duplication
+Description: test
+Version: 1.0
+Requires: baz bar
+Libs: -lprivate
+Libs.private: -lfoo
+
diff --git a/tests/lib1/provides-request-simple.pc b/tests/lib1/provides-request-simple.pc
new file mode 100644
index 000000000000..7e12c2d40dd8
--- /dev/null
+++ b/tests/lib1/provides-request-simple.pc
@@ -0,0 +1,6 @@
+Name: provides-request-simple
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -lfoo
+Cflags: -I/usr/include/foo
+Requires: provides-test-foo
diff --git a/tests/lib1/provides.pc b/tests/lib1/provides.pc
new file mode 100644
index 000000000000..0480c7375c88
--- /dev/null
+++ b/tests/lib1/provides.pc
@@ -0,0 +1,6 @@
+Name: provides
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -lfoo
+Cflags: -I/usr/include/foo
+Provides: provides-test-foo = 1.0.0, provides-test-bar > 1.1.0, provides-test-baz >= 1.1.0, provides-test-quux < 1.2.0, provides-test-moo <= 1.2.0, provides-test-meow != 1.3.0
diff --git a/tests/lib1/quotes.pc b/tests/lib1/quotes.pc
new file mode 100644
index 000000000000..3213fbe5a1ea
--- /dev/null
+++ b/tests/lib1/quotes.pc
@@ -0,0 +1,10 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: quotes
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -L${libdir} -lfoo
+Cflags: -DQUOTED=\"bla\" -DA=\"escaped\ string\'\ \literal\" -DB="\1\$" -DC='bla'
diff --git a/tests/lib1/requires-internal-2.pc b/tests/lib1/requires-internal-2.pc
new file mode 100644
index 000000000000..84677205cf31
--- /dev/null
+++ b/tests/lib1/requires-internal-2.pc
@@ -0,0 +1,9 @@
+prefix=/test/local
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: requires-internal
+Description: A testing pkg-config file
+Version: 1.2.3
+Requires.internal: cflags-internal
diff --git a/tests/lib1/requires-internal-collision.pc b/tests/lib1/requires-internal-collision.pc
new file mode 100644
index 000000000000..2b257cf4f9ec
--- /dev/null
+++ b/tests/lib1/requires-internal-collision.pc
@@ -0,0 +1,10 @@
+prefix=/test/local
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: requires-internal
+Description: A testing pkg-config file
+Version: 1.2.3
+Requires.internal: cflags-internal
+Requires.private: cflags-internal
diff --git a/tests/lib1/requires-internal-missing.pc b/tests/lib1/requires-internal-missing.pc
new file mode 100644
index 000000000000..8c55a1ddfa63
--- /dev/null
+++ b/tests/lib1/requires-internal-missing.pc
@@ -0,0 +1,10 @@
+prefix=/test/local
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: requires-internal
+Description: A testing pkg-config file
+Version: 1.2.3
+Requires.internal: static-libs, missing
+Requires.private: foo
diff --git a/tests/lib1/requires-internal.pc b/tests/lib1/requires-internal.pc
new file mode 100644
index 000000000000..b7d5a05d93bd
--- /dev/null
+++ b/tests/lib1/requires-internal.pc
@@ -0,0 +1,10 @@
+prefix=/test/local
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: requires-internal
+Description: A testing pkg-config file
+Version: 1.2.3
+Requires.internal: static-libs
+Requires.private: foo
diff --git a/tests/lib1/spaces-in-paths.pc b/tests/lib1/spaces-in-paths.pc
new file mode 100644
index 000000000000..490624e84c63
--- /dev/null
+++ b/tests/lib1/spaces-in-paths.pc
@@ -0,0 +1,7 @@
+prefix=/test\ with\ spaces
+includedir=${prefix}/include
+
+Name: spaces-in-paths
+Version: 1
+Description: test package for properly expanding spaces in variables
+Cflags: -I${includedir} -I${includedir}/subdir
diff --git a/tests/lib1/static-archive-libs.pc b/tests/lib1/static-archive-libs.pc
new file mode 100644
index 000000000000..95f7bfba92ad
--- /dev/null
+++ b/tests/lib1/static-archive-libs.pc
@@ -0,0 +1,10 @@
+prefix=/test/local
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: static-archive-libs
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: /libfoo.a -pthread
+Cflags: -I${includedir}/foo
diff --git a/tests/lib1/static-libs.pc b/tests/lib1/static-libs.pc
new file mode 100644
index 000000000000..075b331ff193
--- /dev/null
+++ b/tests/lib1/static-libs.pc
@@ -0,0 +1,12 @@
+prefix=/test/local
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: static-libs
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -lbar
+Libs.private: -lbar-private
+Cflags: -I${includedir}/foo
+Requires.private: foo
diff --git a/tests/lib1/sysroot-dir-2.pc b/tests/lib1/sysroot-dir-2.pc
new file mode 100644
index 000000000000..31f3ffdb0673
--- /dev/null
+++ b/tests/lib1/sysroot-dir-2.pc
@@ -0,0 +1,7 @@
+prefix=${pc_sysrootdir}/usr
+
+Name: sysroot-dir
+Description: Package for testing whether sysroot dirs are repeated or not
+Version: 1
+CFlags: -I${prefix}/include
+Libs: -L${prefix}/lib -lfoo
diff --git a/tests/lib1/sysroot-dir-3.pc b/tests/lib1/sysroot-dir-3.pc
new file mode 100644
index 000000000000..8c53a453a442
--- /dev/null
+++ b/tests/lib1/sysroot-dir-3.pc
@@ -0,0 +1,9 @@
+prefix=/sysroot/usr
+includedir=${prefix}/include
+libdir=${prefix}/lib
+
+Name: sysroot-dir
+Description: Package for testing whether sysroot dirs are repeated or not
+Version: 1
+CFlags: -I${includedir}
+Libs: -L${libdir} -lfoo
diff --git a/tests/lib1/sysroot-dir-4.pc b/tests/lib1/sysroot-dir-4.pc
new file mode 100644
index 000000000000..524dc7c17cf3
--- /dev/null
+++ b/tests/lib1/sysroot-dir-4.pc
@@ -0,0 +1,9 @@
+prefix=${pc_sysrootdir}/usr
+includedir=${prefix}/include
+libdir=${prefix}/lib
+
+Name: sysroot-dir
+Description: Package for testing whether sysroot dirs are repeated or not
+Version: 1
+CFlags: -I${includedir}
+Libs: -L${libdir} -lfoo
diff --git a/tests/lib1/sysroot-dir-5.pc b/tests/lib1/sysroot-dir-5.pc
new file mode 100644
index 000000000000..8c53a453a442
--- /dev/null
+++ b/tests/lib1/sysroot-dir-5.pc
@@ -0,0 +1,9 @@
+prefix=/sysroot/usr
+includedir=${prefix}/include
+libdir=${prefix}/lib
+
+Name: sysroot-dir
+Description: Package for testing whether sysroot dirs are repeated or not
+Version: 1
+CFlags: -I${includedir}
+Libs: -L${libdir} -lfoo
diff --git a/tests/lib1/sysroot-dir.pc b/tests/lib1/sysroot-dir.pc
new file mode 100644
index 000000000000..8334c5019728
--- /dev/null
+++ b/tests/lib1/sysroot-dir.pc
@@ -0,0 +1,5 @@
+Name: sysroot-dir
+Description: Package for testing whether sysroot dirs are repeated or not
+Version: 1
+CFlags: -I/sysroot/include
+Libs: -L/sysroot/lib -lfoo
diff --git a/tests/lib1/tilde-quoting.pc b/tests/lib1/tilde-quoting.pc
new file mode 100644
index 000000000000..4d37978c7487
--- /dev/null
+++ b/tests/lib1/tilde-quoting.pc
@@ -0,0 +1,5 @@
+Name: tilde
+Description: Another pkg-config test
+Version: 1.3
+Libs: -L~ -ltilde
+Cflags: -I~
diff --git a/tests/lib1/tilde.pc b/tests/lib1/tilde.pc
new file mode 100644
index 000000000000..a4002ecd29ec
--- /dev/null
+++ b/tests/lib1/tilde.pc
@@ -0,0 +1,11 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: Tilde version test
+Description: Test package for checking rpmvercmp ~ handling
+Version: 1.0.0~rc1
+Requires:
+Libs: -L${libdir} -ltilde
+Cflags: -I${includedir}
diff --git a/tests/lib1/truncated.pc b/tests/lib1/truncated.pc
new file mode 100644
index 000000000000..4977bc62c0e5
--- /dev/null
+++ b/tests/lib1/truncated.pc
@@ -0,0 +1 @@
+~ \ No newline at end of file
diff --git a/tests/lib1/tuple-quoting.pc b/tests/lib1/tuple-quoting.pc
new file mode 100644
index 000000000000..666ba4a7a46a
--- /dev/null
+++ b/tests/lib1/tuple-quoting.pc
@@ -0,0 +1,7 @@
+prefix="/test"
+libdir=${prefix}/lib
+
+Name: tuple-quoting
+Description: Another pkg-config test
+Version: 1.3
+Libs: -L${libdir} -lfoo
diff --git a/tests/lib1/typelibdir.pc b/tests/lib1/typelibdir.pc
new file mode 100644
index 000000000000..16e46c4729f0
--- /dev/null
+++ b/tests/lib1/typelibdir.pc
@@ -0,0 +1,11 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+typelibdir=${libdir}/typelibdir
+
+Name: test
+Description: A testing pkg-config file
+Version: 1.2.3
+Libs: -llib-1
+Cflags:
diff --git a/tests/lib1/unavailable-provider.pc b/tests/lib1/unavailable-provider.pc
new file mode 100644
index 000000000000..a8eed6648b59
--- /dev/null
+++ b/tests/lib1/unavailable-provider.pc
@@ -0,0 +1,11 @@
+prefix=/test
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: unavailable_provider
+Description: Provides an otherwise unavailable package
+Version: 1.2.3
+Provides: unavailable = 1.2.3
+Libs: -lunavailable
+Cflags:
diff --git a/tests/lib1/utf8.pc b/tests/lib1/utf8.pc
new file mode 100644
index 000000000000..6507ec0f25b9
--- /dev/null
+++ b/tests/lib1/utf8.pc
@@ -0,0 +1,10 @@
+prefix=/tëst
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: utf8
+Description: Library installed in a prefix with UTF-8
+Version: 0
+Libs: -L${libdir} -lutf8
+Cflags: -I${includedir}
diff --git a/tests/lib1/variable-whitespace.pc b/tests/lib1/variable-whitespace.pc
new file mode 100644
index 000000000000..8d8eab22cde2
--- /dev/null
+++ b/tests/lib1/variable-whitespace.pc
@@ -0,0 +1,11 @@
+
+prefix=/test
+exec_prefix= ${prefix}
+libdir= ${prefix}/lib64
+includedir=${prefix}/include
+
+Name: variable-whitespace
+Description: A test for variable whitespace
+Version: 2.12.3
+Libs: -lvariable-whitespace -L${libdir}
+Cflags: -I${includedir}