diff options
| author | Julian Andres Klode <jak@debian.org> | 2025-10-06 21:47:32 +0200 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2025-10-25 17:27:48 +0200 |
| commit | 4b22a1e36787923fcf303c481f64d580607e670b (patch) | |
| tree | ffa99de22e65c0a85a04cc06cf37d0c1354e99fb /test/libapt | |
| parent | 2e1243e3f582b1a68ac3fb313364a93128a3f918 (diff) | |
Record varying defaults based on cli-version, rather than binary
The --cli-version argument can be used to request a specific
CLI version. The default CLI version is the APT version for apt(8)
and 0 for the other apt-get tools.
Diffstat (limited to 'test/libapt')
| -rw-r--r-- | test/libapt/cliversion_test.cc | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/test/libapt/cliversion_test.cc b/test/libapt/cliversion_test.cc new file mode 100644 index 000000000..a51872aaa --- /dev/null +++ b/test/libapt/cliversion_test.cc @@ -0,0 +1,68 @@ +#include <config.h> + +#include <apt-private/private-cmndline.h> + +#include "common.h" + +TEST(CliVersionTest, TestShort) +{ + + EXPECT_TRUE(cliVersionIsCompatible("0.0", "0")); + EXPECT_TRUE(cliVersionIsCompatible("0.1", "0")); + EXPECT_TRUE(cliVersionIsCompatible("0.0", "1")); + EXPECT_TRUE(cliVersionIsCompatible("0.1", "1")); + EXPECT_FALSE(cliVersionIsCompatible("0.9", "0")); + EXPECT_TRUE(cliVersionIsCompatible("0.9", "1")); + EXPECT_FALSE(cliVersionIsCompatible("0.10", "1")); +} + +TEST(CliVersionTest, Test_0_10) +{ + EXPECT_TRUE(cliVersionIsCompatible("0.0", "0.10")); + EXPECT_TRUE(cliVersionIsCompatible("0.1", "0.10")); + EXPECT_TRUE(cliVersionIsCompatible("0.2", "0.10")); + EXPECT_TRUE(cliVersionIsCompatible("0.3", "0.10")); + EXPECT_TRUE(cliVersionIsCompatible("0.4", "0.10")); + EXPECT_TRUE(cliVersionIsCompatible("0.5", "0.10")); + EXPECT_TRUE(cliVersionIsCompatible("0.6", "0.10")); + EXPECT_TRUE(cliVersionIsCompatible("0.7", "0.10")); + EXPECT_TRUE(cliVersionIsCompatible("0.8", "0.10")); + EXPECT_TRUE(cliVersionIsCompatible("0.10", "0.10")); + // 0.9 does not migrate to 0.10 + EXPECT_FALSE(cliVersionIsCompatible("0.9", "0.10")); + // 0.11 is newer than 0.10 + EXPECT_FALSE(cliVersionIsCompatible("0.11", "0.10")); +} + +TEST(CliVersionTest, TestSame) +{ + EXPECT_TRUE(cliVersionIsCompatible("0.0", "0.0")); + EXPECT_TRUE(cliVersionIsCompatible("0.1", "0.1")); + EXPECT_TRUE(cliVersionIsCompatible("0.2", "0.2")); + EXPECT_TRUE(cliVersionIsCompatible("0.3", "0.3")); + EXPECT_TRUE(cliVersionIsCompatible("0.4", "0.4")); + EXPECT_TRUE(cliVersionIsCompatible("0.5", "0.5")); + EXPECT_TRUE(cliVersionIsCompatible("0.6", "0.6")); + EXPECT_TRUE(cliVersionIsCompatible("0.7", "0.7")); + EXPECT_TRUE(cliVersionIsCompatible("0.8", "0.8")); + EXPECT_TRUE(cliVersionIsCompatible("0.9", "0.9")); + EXPECT_TRUE(cliVersionIsCompatible("0.10", "0.10")); + EXPECT_TRUE(cliVersionIsCompatible("0.11", "0.11")); +} +TEST(CliVersionTest, Test_1_0) +{ + EXPECT_TRUE(cliVersionIsCompatible("0.0", "1.0")); + EXPECT_TRUE(cliVersionIsCompatible("0.1", "1.0")); + EXPECT_TRUE(cliVersionIsCompatible("0.2", "1.0")); + EXPECT_TRUE(cliVersionIsCompatible("0.3", "1.0")); + EXPECT_TRUE(cliVersionIsCompatible("0.4", "1.0")); + EXPECT_TRUE(cliVersionIsCompatible("0.5", "1.0")); + EXPECT_TRUE(cliVersionIsCompatible("0.6", "1.0")); + EXPECT_TRUE(cliVersionIsCompatible("0.7", "1.0")); + EXPECT_TRUE(cliVersionIsCompatible("0.8", "1.0")); + // 0.9 *does* migrate to 0.10 + EXPECT_TRUE(cliVersionIsCompatible("0.9", "1.0")); + // 0.11 is a continuation of the 0 branch in parallel to 1.1 + EXPECT_FALSE(cliVersionIsCompatible("0.10", "1.0")); + EXPECT_FALSE(cliVersionIsCompatible("0.11", "1.0")); +} |
