build: pin brightnessctl in a persistent local Gentoo overlay
This commit is contained in:
@@ -298,6 +298,25 @@ class ImageBuildTests(unittest.TestCase):
|
||||
self.builder.rootfs()
|
||||
self.assertFalse(self.builder.manifest()['rootfs']['complete'])
|
||||
|
||||
def test_corrupt_local_package_archive_invalidates_fetch_checkpoint(self):
|
||||
import hashlib
|
||||
source = self.project / 'image'
|
||||
source.mkdir()
|
||||
(source / 'sources.json').write_text(json.dumps({
|
||||
'stage3': {'url': 'https://example.test/stage.tar', 'sha256': hashlib.sha256(b'stage').hexdigest()},
|
||||
'portage': {'url': 'https://example.test/repo.tar', 'sha256': hashlib.sha256(b'repo').hexdigest()},
|
||||
'local_packages': [{'url': 'https://example.test/brightnessctl.tar.gz',
|
||||
'filename': 'brightnessctl.tar.gz', 'sha256': hashlib.sha256(b'original-source').hexdigest()}]}))
|
||||
with self.builder.locked():
|
||||
(self.builder.cache / 'stage.tar').write_bytes(b'stage')
|
||||
(self.builder.cache / 'repo.tar').write_bytes(b'repo')
|
||||
archive = self.builder.cache / 'brightnessctl.tar.gz'
|
||||
archive.write_bytes(b'original-source')
|
||||
self.builder.record('fetch')
|
||||
self.assertTrue(self.builder.complete('fetch'))
|
||||
archive.write_bytes(b'corrupted-source')
|
||||
self.assertFalse(self.builder.complete('fetch'))
|
||||
|
||||
def test_changed_canonical_patch_invalidates_package_input_identity(self):
|
||||
patches = self.project / 'patches'
|
||||
patches.mkdir()
|
||||
|
||||
Reference in New Issue
Block a user