Files
workinf_Blender_Wasm/my-tools/test_wbv2_scoped_resume.py
mes123456 f3e21c6b98
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled
chore: checkpoint web Blender migration source, tools and docs
Accumulated uncommitted work: GHOST Web backend, WebGL/GPU web layer,
web workflow engine and protocol, tooling, docs and task records.
Large generated evidence, user-testing archives, build snapshots and
imported test assets remain untracked.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-11-10 11:18:01 +08:00

40 lines
1.5 KiB
Python

"""Resume behavior tests; no Blender coverage claims."""
import copy
import unittest
from wbv2_autopilot import reset_resume_jobs
class ScopedResumeTests(unittest.TestCase):
def setUp(self):
self.records = {
"RIG": {"state": "blocked", "reason": "native failure", "attempts": 4},
"RNA": {"state": "blocked", "reason": "receipt missing", "attempts": 3},
"IO": {"state": "verified", "receipt": "prior.json"},
}
def test_normal_resume_does_not_requeue_failures(self):
before = copy.deepcopy(self.records)
self.assertEqual(reset_resume_jobs(self.records), [])
self.assertEqual(self.records, before)
def test_scoped_retry_preserves_other_failures_and_evidence(self):
before = copy.deepcopy(self.records)
self.assertEqual(reset_resume_jobs(self.records, True, "RIG"), ["RIG"])
self.assertEqual(self.records["RIG"]["state"], "retry_pending")
for job in ("RNA", "IO"):
self.assertEqual(self.records[job], before[job])
def test_unknown_job_fails_before_mutating(self):
before = copy.deepcopy(self.records)
with self.assertRaises(ValueError):
reset_resume_jobs(self.records, True, "UNKNOWN")
self.assertEqual(self.records, before)
def test_global_explicit_retry_preserves_verified(self):
self.assertEqual(reset_resume_jobs(self.records, True), ["RIG", "RNA"])
self.assertEqual(self.records["IO"]["state"], "verified")
if __name__ == "__main__":
unittest.main()