[v2,1/1] testsuite: add test for isar-built package with epoch

Message ID 20260810151554.1967597-1-felix.moessbauer@siemens.com
State Under Review
Headers show
Series [v2,1/1] testsuite: add test for isar-built package with epoch | expand

Commit Message

Felix Moessbauer Aug. 10, 2026, 3:15 p.m. UTC
This ensures that packages with different download filename and
location, as well as parts that need to be URL encoded are correctly
handled by the isar-apt download logic in rootfs_install_pkgs_isar_download.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
Changes since v1:

- exercises URI percent-decoding in test as well

 .../test-with-epoch/test-with-epoch_1.0.bb         | 14 ++++++++++++++
 testsuite/citest.py                                |  7 +++++++
 2 files changed, 21 insertions(+)
 create mode 100644 meta-test/recipes-app/test-with-epoch/test-with-epoch_1.0.bb

Patch

diff --git a/meta-test/recipes-app/test-with-epoch/test-with-epoch_1.0.bb b/meta-test/recipes-app/test-with-epoch/test-with-epoch_1.0.bb
new file mode 100644
index 00000000..a0e6f4ad
--- /dev/null
+++ b/meta-test/recipes-app/test-with-epoch/test-with-epoch_1.0.bb
@@ -0,0 +1,14 @@ 
+# This software is a part of Isar.
+# Copyright (C) 2026 Siemens AG
+#
+# SPDX-License-Identifier: MIT
+
+# Test that a .deb with an epoch and special characters ('+' and '~') in
+# its version is properly handled by isar-apt (exercises URI percent-decoding).
+
+inherit dpkg-raw
+
+MAINTAINER = "isar-users <isar-users@googlegroups.com>"
+DESCRIPTION = "Test package with epoch in version"
+
+CHANGELOG_V = "1:1.0+test~1-1"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index fcd08c95..51a4da71 100644
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -485,6 +485,13 @@  class CrossTest(CIBaseTest):
             bitbake_extra_args=["-c", "rootfs_install"]
         )
 
+    def test_package_with_epoch(self):
+        self.init()
+        self.perform_build_test(
+            ['mc:qemuamd64-trixie:isar-image-base'],
+            image_install='test-with-epoch',
+            bitbake_extra_args=["-c", "rootfs_install"])
+
     def test_cross_riscv64(self):
         """
         :avocado: tags=riscv64