v5.0.56: Rewrite test runner, fix run() safety, add 6 test suites, update docs
Major test infrastructure overhaul: - Rename TestRunner → TestRunnerExt (follows NameExt convention) - Non-blocking RunTests() default (one test per frame via RunTestsDeferredPerTest) - Add RunTestsSync() for MCP/immediate results - File-based test discovery via importlib (loads .py from dev/test_embody/) - Inject TD globals into loaded test modules Core fixes: - Replace f-string run() calls with lambda closures (safer, avoids stale refs) - Fix isOpEligibleToBeExternalized — simplified logic (was always true for tagged ops) - Enable file logging by default - Handle missing table rows gracefully during delete cleanup - Fix ParameterTracker log call (lowercase → uppercase) TDN improvements: - Wrap position/size/color/comment setters in try/except - Simplify _getClaudiusVersion (read from module directly) - Fix _isPaletteClone signature (staticmethod → instance method) New test suites: CRUD operators, delete cleanup, annotations, performance, rename/move lifecycle, tag lifecycle. Updated all test imports to new runner path. Docs: Added POPs, file logging, extension naming, renaming conventions, creating Python files for TD. Gitignore cleanup (__pycache__, test_sandbox, logs, etc). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
D
Dylan Roscover committed
3cc0621fdbca599da5aca15b2ec2482b0efea280
Parent: 5f74ef2