summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2025-10-06 21:47:32 +0200
committerJulian Andres Klode <jak@debian.org>2025-10-25 17:27:48 +0200
commit4b22a1e36787923fcf303c481f64d580607e670b (patch)
treeffa99de22e65c0a85a04cc06cf37d0c1354e99fb /test
parent2e1243e3f582b1a68ac3fb313364a93128a3f918 (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')
-rw-r--r--test/libapt/cliversion_test.cc68
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"));
+}