pkg-config/check/check-version
Dan Nicholson 9cd35c624f Enforce that only the first --atleast/exact/max-version option honored
This provides the user with output matching the behavior of the code.
When multiple --atleast/exact/max-version options are supplied, only the
first will be honored.
2012-12-11 11:59:40 -08:00

97 lines
2.2 KiB
Bash
Executable file

#! /bin/sh
set -e
. ${srcdir}/common
# --atleast-pkgconfig-version
RESULT=""
run_test --atleast-pkgconfig-version=$PACKAGE_VERSION
EXPECT_RETURN=1
RESULT=""
run_test --atleast-pkgconfig-version=999
v1=0.9.9
v2=1.0.0
v3=1.0.1
# exact version testing
EXPECT_RETURN=1
RESULT="Requested 'simple = $v1' but version of Simple test is $v2"
run_test --print-errors simple = $v1
EXPECT_RETURN=1
RESULT="Requested 'simple = $v1' but version of Simple test is $v2"
run_test --print-errors --exact-version=$v1 simple
EXPECT_RETURN=0
RESULT=""
run_test --print-errors simple = $v2
EXPECT_RETURN=0
RESULT=""
run_test --print-errors --exact-version=$v2 simple
EXPECT_RETURN=1
RESULT="Requested 'simple = $v3' but version of Simple test is $v2"
run_test --print-errors simple = $v3
EXPECT_RETURN=1
RESULT="Requested 'simple = $v3' but version of Simple test is $v2"
run_test --print-errors --exact-version=$v3 simple
# atleast version testing
EXPECT_RETURN=0
RESULT=""
run_test --print-errors simple \>= $v1
EXPECT_RETURN=0
RESULT=""
run_test --print-errors --atleast-version=$v1 simple
EXPECT_RETURN=0
RESULT=""
run_test --print-errors simple \>= $v2
EXPECT_RETURN=0
RESULT=""
run_test --print-errors --atleast-version=$v2 simple
EXPECT_RETURN=1
RESULT="Requested 'simple >= $v3' but version of Simple test is $v2"
run_test --print-errors simple \>= $v3
EXPECT_RETURN=1
RESULT="Requested 'simple >= $v3' but version of Simple test is $v2"
run_test --print-errors --atleast-version=$v3 simple
# max version testing
EXPECT_RETURN=1
RESULT="Requested 'simple <= $v1' but version of Simple test is $v2"
run_test --print-errors simple \<= $v1
EXPECT_RETURN=1
RESULT="Requested 'simple <= $v1' but version of Simple test is $v2"
run_test --print-errors --max-version=$v1 simple
EXPECT_RETURN=0
RESULT=""
run_test --print-errors simple \<= $v2
EXPECT_RETURN=0
RESULT=""
run_test --print-errors --max-version=$v2 simple
EXPECT_RETURN=0
RESULT=""
run_test --print-errors simple \<= $v3
EXPECT_RETURN=0
RESULT=""
run_test --print-errors --max-version=$v3 simple
# mixing version compare testing is not allowed
EXPECT_RETURN=0
RESULT='Ignoring incompatible output option "--exact-version"'
run_test --atleast-version=1.0.0 --exact-version=1.0.0 simple