pkgconf/tests/requires.sh

141 lines
3.0 KiB
Bash
Raw Normal View History

2016-09-18 20:48:13 +00:00
#!/usr/bin/env atf-sh
. $(atf_get_srcdir)/test_env.sh
tests_init \
libs \
libs_cflags \
libs_static \
libs_static_pure \
2016-09-18 20:48:13 +00:00
argv_parse2 \
static_cflags \
private_duplication \
private_duplication_digraph \
2016-09-18 20:48:13 +00:00
libs_static2 \
missing \
requires_internal \
requires_internal_missing \
requires_internal_collision \
orphaned_requires_private
2016-09-18 20:48:13 +00:00
libs_body()
{
export PKG_CONFIG_PATH="${selfdir}/lib1"
atf_check \
-o inline:"-L/test/lib -lbar -lfoo\n" \
2016-09-18 20:48:13 +00:00
pkgconf --libs bar
}
libs_cflags_body()
{
export PKG_CONFIG_PATH="${selfdir}/lib1"
atf_check \
-o inline:"-fPIC -I/test/include/foo -L/test/lib -lbaz\n" \
2016-09-18 20:48:13 +00:00
pkgconf --libs --cflags baz
}
libs_static_body()
{
export PKG_CONFIG_PATH="${selfdir}/lib1"
atf_check \
-o inline:"-L/test/lib -lbaz -L/test/lib -lzee -L/test/lib -lfoo\n" \
2016-09-18 20:48:13 +00:00
pkgconf --static --libs baz
}
libs_static_pure_body()
{
export PKG_CONFIG_PATH="${selfdir}/lib1"
atf_check \
-o inline:"-L/test/lib -lbaz -L/test/lib -lfoo\n" \
pkgconf --static --pure --libs baz
}
2016-09-18 20:48:13 +00:00
argv_parse2_body()
{
export PKG_CONFIG_PATH="${selfdir}/lib1"
atf_check \
-o inline:"-llib-1 -pthread /test/lib/lib2.so\n" \
2016-09-18 20:48:13 +00:00
pkgconf --static --libs argv-parse-2
}
static_cflags_body()
{
export PKG_CONFIG_PATH="${selfdir}/lib1"
atf_check \
-o inline:"-fPIC -I/test/include/foo -DFOO_STATIC\n" \
2016-09-18 20:48:13 +00:00
pkgconf --static --cflags baz
}
private_duplication_body()
{
export PKG_CONFIG_PATH="${selfdir}/lib1"
atf_check \
2023-01-21 21:43:23 +00:00
-o inline:"-lprivate -lbaz -lzee -lbar -lfoo -lfoo\n" \
2016-09-18 20:48:13 +00:00
pkgconf --static --libs-only-l private-libs-duplication
}
private_duplication_digraph_body()
{
export PKG_CONFIG_PATH="${selfdir}/lib1"
atf_check \
-o 'match:"virtual:world" -> "private-libs-duplication"' \
-o 'match:"virtual:world" -> "bar"' \
-o 'match:"virtual:world" -> "baz"' \
-o 'match:"virtual:world" -> "foo"' \
-o 'match:"private-libs-duplication" -> "bar"' \
-o 'match:"private-libs-duplication" -> "baz"' \
-o 'match:"bar" -> "foo"' \
-o 'match:"baz" -> "foo"' \
pkgconf --static --libs-only-l private-libs-duplication --digraph
}
2016-09-18 20:48:13 +00:00
libs_static2_body()
{
export PKG_CONFIG_PATH="${selfdir}/lib1"
atf_check \
-o inline:"-lbar -lbar-private -L/test/lib -lfoo\n" \
2016-09-18 20:48:13 +00:00
pkgconf --static --libs static-libs
}
missing_body()
{
export PKG_CONFIG_PATH="${selfdir}/lib1"
atf_check \
-s exit:1 \
-e ignore \
-o ignore \
2016-09-18 20:48:13 +00:00
pkgconf --cflags missing-require
}
requires_internal_body()
{
atf_check \
-o inline:"-lbar -lbar-private -L/test/lib -lfoo\n" \
pkgconf --with-path="${selfdir}/lib1" --static --libs requires-internal
}
requires_internal_missing_body()
{
atf_check \
-s exit:1 \
-e ignore \
-o ignore \
pkgconf --with-path="${selfdir}/lib1" --static --libs requires-internal-missing
}
requires_internal_collision_body()
{
atf_check \
-o inline:"-I/test/local/include/foo\n" \
pkgconf --with-path="${selfdir}/lib1" --cflags requires-internal-collision
}
orphaned_requires_private_body()
{
atf_check \
-s exit:1 \
-e ignore \
-o ignore \
pkgconf --with-path="${selfdir}/lib1" --cflags --libs orphaned-requires-private
}