Skip to content

test(models): add smoke test that every DH/URDF/ETS model constructs#547

Merged
petercorke merged 4 commits into
mainfrom
test/model-smoke-coverage
Jul 5, 2026
Merged

test(models): add smoke test that every DH/URDF/ETS model constructs#547
petercorke merged 4 commits into
mainfrom
test/model-smoke-coverage

Conversation

@petercorke

Copy link
Copy Markdown
Owner

Summary

Test plan

  • Verified on clean main: 29/29 pass in test_models.py, only the 5 documented models hit EXPECTED_FAILURES
  • Sanity-checked the mechanism actually works: temporarily cleared EXPECTED_FAILURES and confirmed the test fails, listing exactly the 5 known-broken models with their real exceptions — nothing else
  • Full suite: 653 passed, 13 skipped, no regressions

🤖 Generated with Claude Code

petercorke and others added 4 commits July 5, 2026 17:43
Existing tests are hand-written per model, so a model exported in
__all__ can go completely untested -- Valkyrie, Fetch, KinovaGen3,
FetchCamera, and LBR all had zero coverage this way, three of them
silently broken with nothing to catch it (see tech-debt.md).

Iterates each category's own __all__ directly (rather than scanning
module __dict__/inspect.getmembers, which would also pick up re-exported
base classes like Robot/URDFRobot) and asserts every listed class
constructs with no arguments. Known-currently-broken models are tracked
in an explicit EXPECTED_FAILURES set, which fails loudly in *both*
directions: a newly-broken model fails the test, and a since-fixed
"expected failure" that starts passing also fails the test, forcing its
entry to be cleaned up rather than silently going stale.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Valkyrie, Fetch, and KinovaGen3 are now fixed on main; FetchCamera is
removed entirely (so its entry would be a harmless no-op, but delete it
for hygiene). Only LBR remains genuinely broken.
@codecov

codecov Bot commented Jul 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (17c67d2) to head (553c93f).

Additional details and impacted files
@@          Coverage Diff          @@
##            main    #547   +/-   ##
=====================================
  Coverage   0.00%   0.00%           
=====================================
  Files        136     136           
  Lines      13438   13438           
=====================================
  Misses     13438   13438           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@petercorke petercorke merged commit a6035c5 into main Jul 5, 2026
18 checks passed
@petercorke petercorke deleted the test/model-smoke-coverage branch July 5, 2026 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant