pkg-config/check/check-missing
Dan Nicholson 3ead3dfb78 Enable Requires and Requires.private for --exists
Prior to pkg-config 0.24, --exists honored Requires and
Requires.private. This was regressed in commits 02d5ae3f and 669bfe2e,
which split the handling of Requires and Requires.private out more
correctly for other options. This adds exists to the group of options
that enable the Requires functionality.

Freedesktop #43149
2012-07-11 05:24:23 -07:00

92 lines
2.4 KiB
Bash
Executable file

#! /bin/sh
# Make sure we're POSIX
if [ "$PKG_CONFIG_SHELL_IS_POSIX" != "1" ]; then
PKG_CONFIG_SHELL_IS_POSIX=1 PATH=`getconf PATH` exec sh $0 "$@"
fi
. ${srcdir}/common
# non-existent package; call should fail and cause no output
EXPECT_RETURN=1
RESULT=""
ARGS="--exists pkg-non-existent"
run_test
# existing package, but with missing Requires
EXPECT_RETURN=1
RESULT=""
ARGS="--exists missing-requires"
run_test
# tests below are on an existing package, but with missing Requires.private;
# when pkg-config outputs error, the actual error text isn't checked
# package exists, but should fail since deps can't be resolved
ARGS="--exists missing-requires-private"
EXPECT_RETURN=1
RESULT=""
run_test
# get Libs
ARGS="--libs missing-requires-private"
if [ "$list_indirect_deps" = "yes" ]; then
EXPECT_RETURN=1
RESULT='Package pkg-non-existent-private-dep was not found in the pkg-config search path.
Perhaps you should add the directory containing `pkg-non-existent-private-dep.pc'\''
to the PKG_CONFIG_PATH environment variable
Package '\''pkg-non-existent-private-dep'\'', required by '\''Missing Requires.private test package'\'', not found'
else
EXPECT_RETURN=0
RESULT="-L/missing-requires-private/lib -lmissing-requires-private"
fi
run_test
# Libs.private should fail (verbosely, but the output isn't verified)
ARGS="--silence-errors --static --libs missing-requires-private"
EXPECT_RETURN=1
RESULT=""
run_test
# Cflags.private should fail (verbosely, but the output isn't verified)
ARGS="--silence-errors --static --cflags missing-requires-private"
EXPECT_RETURN=1
RESULT=""
run_test
# Cflags should fail (verbosely, but the output isn't verified)
ARGS="--silence-errors --cflags missing-requires-private"
EXPECT_RETURN=1
RESULT=""
run_test
# get includedir var
ARGS="--variable includedir missing-requires-private"
EXPECT_RETURN=0
RESULT="/usr/include/somedir"
run_test
# tests below are on an existing package, but with missing Requires; when
# pkg-config outputs error, the actual error text isn't checked
# package exists
ARGS="missing-requires"
EXPECT_RETURN=0
RESULT=""
run_test
# Libs should fail
ARGS="--silence-errors --libs missing-requires"
EXPECT_RETURN=1
RESULT=""
run_test
# Cflags should fail
ARGS="--silence-errors --cflags missing-requires"
EXPECT_RETURN=1
RESULT=""
run_test
# get includedir var
ARGS="--variable includedir missing-requires"
EXPECT_RETURN=0
RESULT="/usr/include/somedir"
run_test