mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2026-01-24 02:50:22 +01:00
Prior to pkg-config 0.24, --exists honored Requires and Requires.private. This was regressed in commits02d5ae3fand669bfe2e, 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
92 lines
2.4 KiB
Bash
Executable file
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
|