forked from ariadne/pkgconf
58 lines
1.1 KiB
Bash
58 lines
1.1 KiB
Bash
|
#!/bin/sh
|
||
|
# Tests for pkg-config compliance.
|
||
|
# * Copyright (c) 2012 Michał Górny <mgorny@gentoo.org>.
|
||
|
|
||
|
done=0
|
||
|
failed=0
|
||
|
|
||
|
run_test() {
|
||
|
local res t_ret 2>/dev/null || true
|
||
|
|
||
|
echo "$ ${1}"
|
||
|
eval res="\$(${1})"
|
||
|
echo "${res}"
|
||
|
|
||
|
t_ret=0
|
||
|
while [ ${#} -gt 1 ]; do
|
||
|
shift
|
||
|
|
||
|
case "${res}" in
|
||
|
*${1}*)
|
||
|
;;
|
||
|
*)
|
||
|
echo "! expected ${1}"
|
||
|
t_ret=1
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ ${t_ret} -eq 0 ]; then
|
||
|
echo "+ [OK]"
|
||
|
else
|
||
|
failed=$(( failed + 1 ))
|
||
|
fi
|
||
|
done=$(( done + 1 ))
|
||
|
|
||
|
echo
|
||
|
}
|
||
|
|
||
|
selfdir=$(cd "$(dirname "${0}")"; pwd)
|
||
|
|
||
|
# 1) overall 'is it working?' test
|
||
|
run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} --libs foo" \
|
||
|
'-lfoo'
|
||
|
run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} --cflags --libs foo" \
|
||
|
'-lfoo' '-I/usr/include/foo' '-fPIC'
|
||
|
run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} --exists 'foo > 1.2'; echo \$?" \
|
||
|
'0'
|
||
|
run_test "PKG_CONFIG_PATH=${selfdir}/lib1 ${1} --exists 'foo > 1.2.3'; echo \$?" \
|
||
|
'1'
|
||
|
|
||
|
if [ ${failed} -gt 0 ]; then
|
||
|
echo "${failed} of ${done} tests failed. See output for details." >&2
|
||
|
exit 1
|
||
|
else
|
||
|
echo "${done} tests done. All succeeded." >&2
|
||
|
exit 0
|
||
|
fi
|