pkg-config/check/check-print-options
Dan Nicholson 715cc306b0 Allow errors in .pc files for --list-all
Normally, the parser will exit immediately when it encounters errors in
.pc files. This is good most of the time, but for --list-all, the
purpose is to just get a quick list of packages and not to validate .pc
files. This is especially the case for pkg-config wrappers such as the
Ruby or Bash completion modules that scrape the output from --list-all
and don't expect to encounter errors there.

Freedesktop #26615 (https://bugs.freedesktop.org/show_bug.cgi?id=26615)
2013-05-17 05:53:13 -07:00

61 lines
1.6 KiB
Bash
Executable file

#! /bin/sh
set -e
. ${srcdir}/common
# --version
RESULT=$PACKAGE_VERSION
run_test --version
# --modversion
RESULT=1.0.0
run_test --modversion simple
# --print-variables, make sure having no variables doesn't crash
RESULT=""
run_test --print-variables no-variables
RESULT="exec_prefix
prefix
libdir
includedir"
run_test --print-variables simple
# --print-provides
RESULT="simple = 1.0.0"
run_test --print-provides simple
# --print-requires
RESULT="public-dep >= 1"
run_test --print-requires requires-test
# --print-requires-private
RESULT="private-dep >= 1"
run_test --print-requires-private requires-test
# --list-all, limit to a subdirectory
RESULT="sub1 Subdirectory package 1 - Test package 1 for subdirectory
sub2 Subdirectory package 2 - Test package 2 for subdirectory
broken Broken package - Module with broken .pc file"
PKG_CONFIG_LIBDIR="$srcdir/sub" run_test --list-all
# Check handling when multiple incompatible options are set
RESULT="Ignoring incompatible output option \"--modversion\"
$PACKAGE_VERSION"
run_test --version --modversion simple
RESULT="Ignoring incompatible output option \"--version\"
1.0.0"
run_test --modversion --version simple
# --print-requires/--print-requires-private allowed together
RESULT="public-dep >= 1
private-dep >= 1"
run_test --print-requires --print-requires-private requires-test
run_test --print-requires-private --print-requires requires-test
# --exists and --atleast/exact/max-version can be mixed
RESULT=""
run_test --exists --atleast-version=1.0.0 simple
run_test --exists --exact-version=1.0.0 simple
run_test --exists --max-version=1.0.0 simple