* [PATCH 2/4] testsuite: fallback to diff in compare_repro_image if diffoscope is missing
2026-08-21 9:40 [PATCH 1/4] testsuite: allow to run all tests below testsuite in container 'Felix Moessbauer' via isar-users
@ 2026-08-21 9:40 ` 'Felix Moessbauer' via isar-users
2026-08-21 9:40 ` [PATCH 3/4] testsuite: make repro test image type agnostic 'Felix Moessbauer' via isar-users
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: 'Felix Moessbauer' via isar-users @ 2026-08-21 9:40 UTC (permalink / raw)
To: isar-users; +Cc: Felix Moessbauer
When running the test in the container, diffoscope is missing. This is
not a test failure, but just makes the output less helpful in case the
artifacts are not identical.
To still be able to get the binary result of the test, we just fall back
to a hash comparison, using diff -q.
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
testsuite/repro-build-test.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/testsuite/repro-build-test.py b/testsuite/repro-build-test.py
index c1b51aff..eb2cb3b1 100755
--- a/testsuite/repro-build-test.py
+++ b/testsuite/repro-build-test.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
+import shutil
+
from cibuilder import CIBuilder
from utils import CIUtils
from avocado.utils import process
@@ -68,8 +70,13 @@ class ReproBuild(CIBuilder):
self.log.info(
"Compare artifacts image1: " + image1 + ", image2: " + image2
)
+
+ compare_cmd = "diff -q"
+ if shutil.which('diffoscope'):
+ compare_cmd = \
+ f"diffoscope --text {self.build_dir}/diffoscope-output.txt"
result = process.run(
- f"diffoscope --text {self.build_dir}/diffoscope-output.txt"
+ f"{compare_cmd}"
f" {self.build_dir}/{image1} {self.build_dir}/{image2}",
ignore_status=True,
)
--
2.55.0
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260821094038.1816837-2-felix.moessbauer%40siemens.com.
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH 3/4] testsuite: make repro test image type agnostic
2026-08-21 9:40 [PATCH 1/4] testsuite: allow to run all tests below testsuite in container 'Felix Moessbauer' via isar-users
2026-08-21 9:40 ` [PATCH 2/4] testsuite: fallback to diff in compare_repro_image if diffoscope is missing 'Felix Moessbauer' via isar-users
@ 2026-08-21 9:40 ` 'Felix Moessbauer' via isar-users
2026-08-21 9:40 ` [PATCH 4/4] testsuite: check if python cache is deleted or reproducible 'Felix Moessbauer' via isar-users
2026-08-31 9:27 ` [PATCH 1/4] testsuite: allow to run all tests below testsuite in container Zhihang Wei
3 siblings, 0 replies; 5+ messages in thread
From: 'Felix Moessbauer' via isar-users @ 2026-08-21 9:40 UTC (permalink / raw)
To: isar-users; +Cc: Felix Moessbauer
The ReproBuild test already supports to parameterize the build target.
However, it always expects a build target that actually generates a
.tar.zst image (which is not the case for most targets).
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
testsuite/repro-build-test.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/testsuite/repro-build-test.py b/testsuite/repro-build-test.py
index eb2cb3b1..6234a8d7 100755
--- a/testsuite/repro-build-test.py
+++ b/testsuite/repro-build-test.py
@@ -51,9 +51,13 @@ class ReproBuild(CIBuilder):
# Build
self.log.info("Started Build " + image_name)
+ image_fstype = '.'.join(image_name.split('.')[1:])
self.configure(
targets=target,
- source_date_epoch=source_date_epoch, use_apt_snapshot=True
+ source_date_epoch=source_date_epoch, use_apt_snapshot=True,
+ lines=[
+ f'IMAGE_FSTYPES = "{image_fstype}"',
+ ]
)
self.bitbake(target)
--
2.55.0
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260821094038.1816837-3-felix.moessbauer%40siemens.com.
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH 4/4] testsuite: check if python cache is deleted or reproducible
2026-08-21 9:40 [PATCH 1/4] testsuite: allow to run all tests below testsuite in container 'Felix Moessbauer' via isar-users
2026-08-21 9:40 ` [PATCH 2/4] testsuite: fallback to diff in compare_repro_image if diffoscope is missing 'Felix Moessbauer' via isar-users
2026-08-21 9:40 ` [PATCH 3/4] testsuite: make repro test image type agnostic 'Felix Moessbauer' via isar-users
@ 2026-08-21 9:40 ` 'Felix Moessbauer' via isar-users
2026-08-31 9:27 ` [PATCH 1/4] testsuite: allow to run all tests below testsuite in container Zhihang Wei
3 siblings, 0 replies; 5+ messages in thread
From: 'Felix Moessbauer' via isar-users @ 2026-08-21 9:40 UTC (permalink / raw)
To: isar-users; +Cc: Felix Moessbauer
As a preparation to not always delete the python cache, we check if our
images are also built reproducible if python is installed.
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
testsuite/repro-build-test.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/testsuite/repro-build-test.py b/testsuite/repro-build-test.py
index 6234a8d7..f8fbd63e 100755
--- a/testsuite/repro-build-test.py
+++ b/testsuite/repro-build-test.py
@@ -57,6 +57,7 @@ class ReproBuild(CIBuilder):
source_date_epoch=source_date_epoch, use_apt_snapshot=True,
lines=[
f'IMAGE_FSTYPES = "{image_fstype}"',
+ 'IMAGE_PREINSTALL += "python3"',
]
)
self.bitbake(target)
--
2.55.0
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260821094038.1816837-4-felix.moessbauer%40siemens.com.
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 1/4] testsuite: allow to run all tests below testsuite in container
2026-08-21 9:40 [PATCH 1/4] testsuite: allow to run all tests below testsuite in container 'Felix Moessbauer' via isar-users
` (2 preceding siblings ...)
2026-08-21 9:40 ` [PATCH 4/4] testsuite: check if python cache is deleted or reproducible 'Felix Moessbauer' via isar-users
@ 2026-08-31 9:27 ` Zhihang Wei
3 siblings, 0 replies; 5+ messages in thread
From: Zhihang Wei @ 2026-08-31 9:27 UTC (permalink / raw)
To: Felix Moessbauer, isar-users
Applied to next, thanks.
Zhihang
On 8/21/26 11:40, 'Felix Moessbauer' via isar-users wrote:
> Previously the testsuite/citest.py was appended to the avocado cmdline
> if not present. This made it impossible to run other testsuites, like
> the repro-build-test.py.
>
> We now only append the citest.py if no other .py file is provided on the
> cmdline.
>
> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
> ---
> testsuite/dockerdata/test-container-entrypoint | 2 +-
> testsuite/dockerdata/version | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/testsuite/dockerdata/test-container-entrypoint b/testsuite/dockerdata/test-container-entrypoint
> index 4f3f43b7..aa3def79 100755
> --- a/testsuite/dockerdata/test-container-entrypoint
> +++ b/testsuite/dockerdata/test-container-entrypoint
> @@ -58,7 +58,7 @@ EOF
> done
>
> case "$args" in
> -*testsuite/citest.py*)
> +*testsuite/*.py*)
> ;;
> *)
> args="$args testsuite/citest.py"
> diff --git a/testsuite/dockerdata/version b/testsuite/dockerdata/version
> index 0cfbf088..00750edc 100644
> --- a/testsuite/dockerdata/version
> +++ b/testsuite/dockerdata/version
> @@ -1 +1 @@
> -2
> +3
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/6c92b62b-3448-4e6a-9fd3-8c051e6e9cdd%40ilbers.de.
^ permalink raw reply [flat|nested] 5+ messages in thread