From 50ff619e6dfc2b21cd44d479979b80d44e7b9aca Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 7 Dec 2022 12:21:04 +0100 Subject: [PATCH] test/system: Test a container with an old forward incompatible runtime Commit ae43560d45842eea had added a test with a similar intention. When the test suite is run on a Fedora Rawhide host, it tests whether the containers for the two previous stable Fedora releases start or not. Fedora N-2 reaches End of Life four weeks after Fedora N is released. So, testing the containers for Fedora Rawhide and the two previous stable releases on a Fedora Rawhide host is a decent test of general backwards compatibility. However, as seen recently [1], this isn't enough to catch some known ABI compatibility issues [2,3]. These involve toolbox binaries built on hosts with newer toolchains that aren't meant to be run against containers with older runtimes. A targeted test is needed to defend against these scenarios. The fedora-toolbox:34 image has glibc-2.33, which is old enough to be unable to run binaries compiled on Fedora 35 with glibc-2.34 and newer. [1] https://github.com/containers/toolbox/pull/1180 [2] Commit 6063eb27b9893994 https://github.com/containers/toolbox/issues/821 [3] Commit 6ad9c631806961f3 https://github.com/containers/toolbox/issues/529 https://docs.fedoraproject.org/en-US/releases/ https://github.com/containers/toolbox/pull/1187 --- test/system/103-container.bats | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/system/103-container.bats b/test/system/103-container.bats index 5222a871d..66a8adb83 100644 --- a/test/system/103-container.bats +++ b/test/system/103-container.bats @@ -38,6 +38,13 @@ teardown() { assert_success } +@test "container: Start with an old forward incompatible runtime" { + create_distro_container fedora 34 fedora-toolbox-34 + + run container_started fedora-toolbox-34 + assert_success +} + @test "container(Fedora Rawhide): Containers with supported versions start without issues" { local os_release="$(find_os_release)" local system_id="$(get_system_id)"