mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-27 08:41:13 -07:00
The manifest lists the modules directory without the kernel's LOCALVERSION_AUTO hash (the hash does not reproduce across a re-patch of the same source, so the image manifest strips it). image.health still compared the full running release against that list and failed on the first post-flash run of image 20260902144848 with the kernel 6.12.20-fslc-fslc-g72a0b1431a9d against the manifest's 6.12.20-fslc-fslc. kernel_ident() strips the same suffix from both sides, so a manifest with or without the hash matches the running kernel, and a different base release still fails. tests/test_image.py covers both forms. Catalog consequence: only image.health's own implementation hash moves; it is an always-run test, so no inherited result is affected.
25 lines
1021 B
Python
25 lines
1021 B
Python
import unittest
|
|
|
|
from forgetest.suite import image
|
|
|
|
|
|
class KernelIdentTests(unittest.TestCase):
|
|
def test_localversion_hash_is_stripped(self):
|
|
self.assertEqual(image.kernel_ident("6.12.20-fslc-fslc-g72a0b1431a9d"), "6.12.20-fslc-fslc")
|
|
self.assertEqual(image.kernel_ident("6.12.20-fslc-fslc+g72a0b1431a9d"), "6.12.20-fslc-fslc")
|
|
|
|
def test_plain_name_is_unchanged(self):
|
|
self.assertEqual(image.kernel_ident("6.12.20-fslc-fslc"), "6.12.20-fslc-fslc")
|
|
self.assertEqual(image.kernel_ident("6.12.20-fslc-g12"), "6.12.20-fslc-g12")
|
|
|
|
def test_release_matches_manifest_with_or_without_hash(self):
|
|
rel = "6.12.20-fslc-fslc-g72a0b1431a9d"
|
|
self.assertTrue(image.kernel_matches(rel, ["6.12.20-fslc-fslc"]))
|
|
self.assertTrue(image.kernel_matches(rel, ["6.12.20-fslc-fslc-gf52af5b522f4"]))
|
|
self.assertTrue(image.kernel_matches(rel, []))
|
|
self.assertFalse(image.kernel_matches(rel, ["6.12.19-fslc-fslc"]))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|