Last active
February 20, 2026 11:18
-
-
Save bketelsen/d9dcfde668322db204a276c22ac94218 to your computer and use it in GitHub Desktop.
bootc test suite
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| === Step 7: Run tests === | |
| --- Running: 01-installation.sh --- | |
| 01-installation.sh 100% 1605 7.2MB/s 00:00 | |
| # Tier 1: Installation validation | |
| # system state: running | |
| ok - System has booted | |
| ok - Root filesystem is read-only | |
| ok - Composefs is active | |
| ok - usr is read-only | |
| ok - bootc status succeeds | |
| ok - bootc has image reference | |
| # Results: 6 passed, 0 failed, 6 total | |
| --- 01-installation.sh: PASSED --- | |
| --- Running: 02-services.sh --- | |
| 02-services.sh 100% 1311 3.1MB/s 00:00 | |
| # Tier 2: Service health | |
| ok - systemd-resolved is active | |
| ok - NetworkManager is active | |
| ok - ssh is active | |
| ok - nbc-update-download.timer is loaded | |
| ok - frostyard-updex is installed | |
| ok - no failed systemd units | |
| # Results: 6 passed, 0 failed, 6 total | |
| --- 02-services.sh: PASSED --- | |
| --- Running: 03-sysexts.sh --- | |
| 03-sysexts.sh 100% 1446 3.2MB/s 00:00 | |
| # Tier 3: Sysext machinery validation | |
| ok - systemd-sysext binary exists | |
| ok - systemd-sysext list succeeds | |
| ok - sysupdate transfer configs exist | |
| # Informational: sysupdate transfer configs | |
| debdev.transfer | |
| devel.feature | |
| dev.transfer | |
| docker.feature | |
| docker.transfer | |
| incus.feature | |
| incus.transfer | |
| podman.feature | |
| podman.transfer | |
| # Informational: active extensions | |
| # Results: 3 passed, 0 failed, 3 total | |
| --- 03-sysexts.sh: PASSED --- | |
| --- Running: 04-smoke.sh --- | |
| 04-smoke.sh 100% 1251 4.1MB/s 00:00 | |
| # Tier 4: Smoke tests | |
| ok - Network connectivity | |
| ok - DNS resolution | |
| ok - Package metadata intact (>100 installed packages) | |
| ok - System time is reasonable (year >= 2025) | |
| ok - Hostname is set | |
| ok - Locale is configured | |
| # Results: 6 passed, 0 failed, 6 total | |
| --- 04-smoke.sh: PASSED --- | |
| ======================================== | |
| TEST SUMMARY | |
| ======================================== | |
| 01-installation.sh PASS | |
| 02-services.sh PASS | |
| 03-sysexts.sh PASS | |
| 04-smoke.sh PASS | |
| ======================================== | |
| All tiers passed. | |
| === Cleanup === | |
| VM stopped (PID: 645630) | |
| Removed disk image: /tmp/tmp.QmMMj9VY1P/disk.raw | |
| Removing loaded image: localhost/snosi-test:latest | |
| Untagged: localhost/snosi-test:latest | |
| Deleted: 55e79e2d97ad667e74a0b593bbca8dd4aaf63797ab9c90f4fc62f33438e487cb | |
| Removed temp directory: /tmp/tmp.QmMMj9VY1P |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| snosi bootctesting $~8?4 1m35s > just test-install | |
| sudo /home/linuxbrew/.linuxbrew/bin/just _test-install output/snow | |
| ./test/bootc-install-test.sh output/snow | |
| Temp directory: /tmp/tmp.xT8kR6nNvp | |
| === Step 1: Load image === | |
| Loading OCI directory: output/snow | |
| Getting image source signatures | |
| Copying blob 2e36e68cca63 done | | |
| Copying config 3393cc5c61 done | | |
| Writing manifest to image destination | |
| Re-layering image through podman export/import... | |
| Getting image source signatures | |
| Copying blob f1334104c9e1 done | | |
| Copying config 7bff883bf6 done | | |
| Writing manifest to image destination | |
| sha256:7bff883bf6bcb8c40d261c9763b0336e3da9590067bbfdb53c2e13ac621e6436 | |
| Untagged: localhost/snosi-test-raw:latest | |
| Deleted: 3393cc5c615260da18ef5c9cdc17694ca2b5844b93eef96d1252a95ccd1a1e01 | |
| Image loaded as: localhost/snosi-test:latest | |
| === Step 2: Generate SSH keypair === | |
| Generated SSH keypair: /tmp/tmp.xT8kR6nNvp/id_ed25519 | |
| === Step 3: Create disk image === | |
| Created disk image: /tmp/tmp.xT8kR6nNvp/disk.raw (10G) | |
| === Step 4: Install image to disk === | |
| Installing image: docker://localhost/snosi-test:latest | |
| Digest: sha256:b26a9c4330a47adc0301fd3cda391326029058cf0961726ef455064da8b51d0d | |
| Block setup: direct | |
| Size: 10737418240 | |
| Serial: <unknown> | |
| Model: <unknown> | |
| Checking that no-one is using this disk right now ... OK | |
| Disk /dev/loop19: 10 GiB, 10737418240 bytes, 20971520 sectors | |
| Units: sectors of 1 * 512 = 512 bytes | |
| Sector size (logical/physical): 512 bytes / 512 bytes | |
| I/O size (minimum/optimal): 512 bytes / 512 bytes | |
| >>> Script header accepted. | |
| >>> Script header accepted. | |
| >>> Created a new GPT disklabel (GUID: C0D9843A-AA59-46CC-AB4E-40CD533D729B). | |
| /dev/loop19p1: Created a new partition 1 of type 'BIOS boot' and of size 1 MiB. | |
| /dev/loop19p2: Created a new partition 2 of type 'EFI System' and of size 1 GiB. | |
| /dev/loop19p3: Created a new partition 3 of type 'Linux root (x86-64)' and of size 9 GiB. | |
| /dev/loop19p4: Done. | |
| New situation: | |
| Disklabel type: gpt | |
| Disk identifier: C0D9843A-AA59-46CC-AB4E-40CD533D729B | |
| Device Start End Sectors Size Type | |
| /dev/loop19p1 2048 4095 2048 1M BIOS boot | |
| /dev/loop19p2 4096 2101247 2097152 1G EFI System | |
| /dev/loop19p3 2101248 20969471 18868224 9G Linux root (x86-64) | |
| The partition table has been altered. | |
| Calling ioctl() to re-read partition table. | |
| Syncing disks. | |
| Creating root filesystem (btrfs) on device /dev/loop19p3 (size=9.7 GB) | |
| > mkfs.btrfs -U 9a899b28-05c7-4a0e-bdbb-3dbfc553a7bb -L root /dev/loop19p3 | |
| Creating ESP filesystem | |
| > mkfs.fat /dev/loop19p2 -n EFI-SYSTEM | |
| Bootloader: systemd | |
| Installing bootloader via systemd-boot | |
| Created "/tmp/.tmpQtb2ho/EFI". | |
| Created "/tmp/.tmpQtb2ho/EFI/systemd". | |
| Created "/tmp/.tmpQtb2ho/EFI/BOOT". | |
| Created "/tmp/.tmpQtb2ho/loader". | |
| Created "/tmp/.tmpQtb2ho/loader/keys". | |
| Created "/tmp/.tmpQtb2ho/loader/entries". | |
| Created "/tmp/.tmpQtb2ho/EFI/Linux". | |
| Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed" to "/tmp/.tmpQtb2ho/EFI/systemd/systemd-bootx64.efi". | |
| Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed" to "/tmp/.tmpQtb2ho/EFI/BOOT/BOOTX64.EFI". | |
| Random seed file /tmp/.tmpQtb2ho/loader/random-seed successfully written (32 bytes). | |
| Trimming root | |
| .: 2.8 GiB (2981752832 bytes) trimmed | |
| Finalizing filesystem root | |
| Unmounting filesystems | |
| Installation complete! | |
| Installation complete | |
| === Step 4b: Inject SSH key === | |
| Injected SSH key into disk | |
| === Step 5: Boot VM === | |
| VM started (PID: 638220, SSH port: 2222) | |
| Console log: /tmp/tmp.xT8kR6nNvp/disk-console.log | |
| === Step 6: Wait for SSH === | |
| Waiting up to 300s for SSH on port 2222... | |
| SSH available after 14s | |
| === Step 7: Run tests === | |
| --- Running: 01-installation.sh --- | |
| 01-installation.sh 100% 1473 5.4MB/s 00:00 | |
| # Tier 1: Installation validation | |
| # system state: | |
| not ok - System has booted | |
| ok - Root filesystem is read-only | |
| ok - Composefs is active | |
| ok - usr is read-only | |
| ok - bootc status succeeds | |
| ok - bootc has image reference | |
| # Results: 5 passed, 1 failed, 6 total | |
| --- 01-installation.sh: FAILED (1 failures) --- | |
| --- Running: 02-services.sh --- | |
| 02-services.sh 100% 1311 7.2MB/s 00:00 | |
| # Tier 2: Service health | |
| ok - systemd-resolved is active | |
| ok - NetworkManager is active | |
| ok - ssh is active | |
| ok - nbc-update-download.timer is loaded | |
| ok - frostyard-updex is installed | |
| ok - no failed systemd units | |
| # Results: 6 passed, 0 failed, 6 total | |
| --- 02-services.sh: PASSED --- | |
| --- Running: 03-sysexts.sh --- | |
| 03-sysexts.sh 100% 1446 5.8MB/s 00:00 | |
| # Tier 3: Sysext machinery validation | |
| ok - systemd-sysext binary exists | |
| ok - systemd-sysext list succeeds | |
| ok - sysupdate transfer configs exist | |
| # Informational: sysupdate transfer configs | |
| debdev.transfer | |
| devel.feature | |
| dev.transfer | |
| docker.feature | |
| docker.transfer | |
| incus.feature | |
| incus.transfer | |
| podman.feature | |
| podman.transfer | |
| # Informational: active extensions | |
| # Results: 3 passed, 0 failed, 3 total | |
| --- 03-sysexts.sh: PASSED --- | |
| --- Running: 04-smoke.sh --- | |
| 04-smoke.sh 100% 1251 7.3MB/s 00:00 | |
| # Tier 4: Smoke tests | |
| ok - Network connectivity | |
| ok - DNS resolution | |
| ok - Package metadata intact (>100 installed packages) | |
| ok - System time is reasonable (year >= 2025) | |
| ok - Hostname is set | |
| ok - Locale is configured | |
| # Results: 6 passed, 0 failed, 6 total | |
| --- 04-smoke.sh: PASSED --- | |
| ======================================== | |
| TEST SUMMARY | |
| ======================================== | |
| 01-installation.sh FAIL | |
| 02-services.sh PASS | |
| 03-sysexts.sh PASS | |
| 04-smoke.sh PASS | |
| ======================================== | |
| Some tiers failed. | |
| === Cleanup === | |
| VM stopped (PID: 638220) | |
| Removed disk image: /tmp/tmp.xT8kR6nNvp/disk.raw | |
| Removing loaded image: localhost/snosi-test:latest | |
| Untagged: localhost/snosi-test:latest | |
| Deleted: 7bff883bf6bcb8c40d261c9763b0336e3da9590067bbfdb53c2e13ac621e6436 | |
| Removed temp directory: /tmp/tmp.xT8kR6nNvp |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment