22 lines
887 B
Python
22 lines
887 B
Python
"""CPU-only YuE2 worker regression tests; never import torch or run inference."""
|
|
import importlib.util
|
|
from pathlib import Path
|
|
import unittest
|
|
|
|
spec = importlib.util.spec_from_file_location('yue2_worker', Path(__file__).parents[1] / 'scripts/yue2-worker.py')
|
|
worker = importlib.util.module_from_spec(spec)
|
|
spec.loader.exec_module(worker)
|
|
|
|
|
|
class WorkerTests(unittest.TestCase):
|
|
def test_lyrics_preserve_words_and_normalize_ui_headings(self):
|
|
self.assertEqual(worker.normalize_lyrics('[Pre-Chorus]\nEvery word stays\n[Outro]\n'), '[prechorus]\nEvery word stays\n\n')
|
|
self.assertEqual(worker.normalize_lyrics('[Verse 1]\nHello'), '[verse1]\nHello\n\n')
|
|
for lyrics in ['', 'No heading', '[Verse]\nA\n[Chorus]\nB']:
|
|
with self.assertRaises(ValueError):
|
|
worker.normalize_lyrics(lyrics)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|