mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2025-12-26 22:30:03 +01:00
The run_test shell function was running pkg-config with arguments stored in an environment variable. This has problems when trying to pass shell special characters with the proper escaping. Instead, pass the arguments to the test where they can maintain correct formatting through use of the special variable "$@".
77 lines
2.2 KiB
Bash
Executable file
77 lines
2.2 KiB
Bash
Executable file
#! /bin/sh
|
|
|
|
set -e
|
|
|
|
. ${srcdir}/common
|
|
|
|
# non-existent package; call should fail and cause no output
|
|
EXPECT_RETURN=1
|
|
RESULT=""
|
|
run_test --exists pkg-non-existent
|
|
|
|
# existing package, but with missing Requires
|
|
EXPECT_RETURN=1
|
|
RESULT=""
|
|
run_test --exists missing-requires
|
|
|
|
# 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
|
|
EXPECT_RETURN=1
|
|
RESULT=""
|
|
run_test --exists missing-requires-private
|
|
|
|
# get Libs
|
|
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 missing-requires-private
|
|
|
|
# Libs.private should fail (verbosely, but the output isn't verified)
|
|
EXPECT_RETURN=1
|
|
RESULT=""
|
|
run_test --silence-errors --static --libs missing-requires-private
|
|
|
|
# Cflags.private should fail (verbosely, but the output isn't verified)
|
|
EXPECT_RETURN=1
|
|
RESULT=""
|
|
run_test --silence-errors --static --cflags missing-requires-private
|
|
|
|
# Cflags should fail (verbosely, but the output isn't verified)
|
|
EXPECT_RETURN=1
|
|
RESULT=""
|
|
run_test --silence-errors --cflags missing-requires-private
|
|
|
|
# get includedir var
|
|
EXPECT_RETURN=0
|
|
RESULT="/usr/include/somedir"
|
|
run_test --variable includedir missing-requires-private
|
|
|
|
# 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
|
|
EXPECT_RETURN=0
|
|
RESULT=""
|
|
run_test missing-requires
|
|
|
|
# Libs should fail
|
|
EXPECT_RETURN=1
|
|
RESULT=""
|
|
run_test --silence-errors --libs missing-requires
|
|
|
|
# Cflags should fail
|
|
EXPECT_RETURN=1
|
|
RESULT=""
|
|
run_test --silence-errors --cflags missing-requires
|
|
|
|
# get includedir var
|
|
EXPECT_RETURN=0
|
|
RESULT="/usr/include/somedir"
|
|
run_test --variable includedir missing-requires
|