@@ -30,12 +30,12 @@ import tests.test_musicxml
|
||||
class EngravingCacheTests(unittest.TestCase):
|
||||
def test_ci_snapshot_tracks_all_generator_inputs_and_keeps_fallback(self):
|
||||
workflow = pathlib.Path('.gitea/workflows/ci.yml').read_text()
|
||||
self.assertIn("hashFiles('generator/**/*.py', 'generator/*.py', 'data/songs/*.xml', 'data/rhythms/**/*.xml', 'data/scales/**/*.xml')", workflow)
|
||||
self.assertIn('python3 -m generator --renderer-fingerprint', workflow)
|
||||
self.assertIn('restore-keys: product-vamp-pages-${{ steps.renderer.outputs.fingerprint }}-', workflow)
|
||||
self.assertIn('path: build/build_common/engraving-cache/${{ steps.renderer.outputs.fingerprint }}', workflow)
|
||||
self.assertIn("if: steps.engraving-cache.outputs.cache-hit != 'true'", workflow)
|
||||
self.assertIn('key: ${{ steps.engraving-cache.outputs.cache-primary-key }}', workflow)
|
||||
self.assertIn("hashFiles('generator/**/*.py', 'generator/*.py', 'generator/palette.json', 'data/songs/*.xml', 'data/rhythms/**/*.xml', 'data/scales/**/*.xml')", workflow)
|
||||
self.assertIn('python3 modulus.py python -m generator --renderer-fingerprint', workflow)
|
||||
self.assertIn('restore-keys: product_vamp_pages_${{ steps.renderer.outputs.fingerprint }}_', workflow)
|
||||
self.assertIn('path: build/build_common/engraving_cache/${{ steps.renderer.outputs.fingerprint }}', workflow)
|
||||
self.assertIn("if: steps.engraving_cache.outputs.cache-hit != 'true'", workflow)
|
||||
self.assertIn('key: ${{ steps.engraving_cache.outputs.cache-primary-key }}', workflow)
|
||||
def setUp(self):
|
||||
self.temporary = tempfile.TemporaryDirectory()
|
||||
self.addCleanup(self.temporary.cleanup)
|
||||
@@ -231,6 +231,8 @@ class EngravingCacheTests(unittest.TestCase):
|
||||
read_bytes = pathlib.Path.read_bytes
|
||||
with unittest.mock.patch.object(pathlib.Path, 'read_bytes', lambda path: read_bytes(path) + (b'\n' if path.name == 'raster.py' else b'')):
|
||||
self.assertNotEqual(expected, generator.engraving.cache.renderer_fingerprint(fonts, style))
|
||||
with unittest.mock.patch.object(pathlib.Path, 'read_bytes', lambda path: read_bytes(path) + (b'\n' if path.name == 'palette.json' else b'')):
|
||||
self.assertNotEqual(expected, generator.engraving.cache.renderer_fingerprint(fonts, style))
|
||||
def test_corrupt_or_missing_pages_are_regenerated_and_repaired(self):
|
||||
entry = self.seed_cache()
|
||||
page = entry / '0001.png'
|
||||
@@ -295,7 +297,7 @@ class EngravingCacheTests(unittest.TestCase):
|
||||
self.assertIn('fullscore 8, bodyhits 0, bodies 0, renderedpages 0', progress.getvalue())
|
||||
self.assertEqual(len(list(self.cache.rglob('pages.json'))), 8)
|
||||
self.assertEqual(len(list(self.cache.rglob('band.json'))), 2)
|
||||
self.assertFalse(list(self.cache.rglob('.engraving-*')))
|
||||
self.assertFalse(list(self.cache.rglob('.engraving_*')))
|
||||
def test_environment_change_gets_new_namespace_and_clear_progress(self):
|
||||
old = self.seed_cache()
|
||||
root = self.root / 'new-environment'
|
||||
@@ -360,4 +362,4 @@ class EngravingCacheTests(unittest.TestCase):
|
||||
with self.assertRaisesRegex(generator.engraving.types.EngravingError, 'unavailableGlyph'):
|
||||
generator.__main__.generate_assets(args)
|
||||
self.assertEqual(original, self.files(output))
|
||||
self.assertFalse(list(output.parent.glob('.vamp-assets-*')))
|
||||
self.assertFalse(list(output.parent.glob('.vamp_assets_*')))
|
||||
|
||||
Reference in New Issue
Block a user