Commit 6aad90b
authored
[Test] Optimize Newton test runtime (#7306)
# Description
Reduces `isaaclab_newton` CI runtime while preserving distinct
behavioral coverage.
- Tests actuator target-mode configuration directly instead of launching
a simulation for pure configuration behavior.
- Preserves singleton and batched coverage at initialization boundaries,
then uses representative batched layouts for downstream behavior.
- Consolidates redundant rigid-object and rigid-object-collection
parameter matrices.
- Keeps the complete contact lifecycle shape matrix while narrowing the
secondary horizontal-collision matrix to representative primitive and
mesh cases.
- Combines contact-sensor metadata checks into one scene.
- Removes simulation-backed print/string smoke tests and replaces
tautological self-comparisons with cross-view behavioral assertions.
## Before and after measurement
Measured with the CI-style per-file test runner on the same workstation,
using a new empty Warp cache for each revision. Both revisions use the
repository-default Warp backward configuration:
| Revision | Cases | Result | Wall time |
|---|---:|---|---:|
| `upstream/develop` (`c4a275975`) | 1,180 | 0 failures, 0 errors | 30m
44.38s |
| This PR (`552b329a8`) | 907 | 0 failures, 0 errors | 21m 41.56s |
This saves **9m 02.82s (29.4%)** in a cold-cache run. Both measurements
executed all 35 Newton test files.
Measurement command:
```bash
TEST_FILTER_PATTERN=isaaclab_newton \
WARP_CACHE_PATH=<new-empty-cache> \
uv run --no-sync python -m pytest tools -q
```
## Type of change
- Test and CI performance improvement (non-breaking)
## Validation
- Full optimized Newton suite: 35 files, 907 cases, 0 failures, 0
errors.
- Full untouched baseline suite: 35 files, 1,180 cases, 0 failures, 0
errors.
- Focused changed suites all pass: articulation, rigid object, rigid
object collection, contact sensor, frame transformer, IMU, joint wrench,
and PVA.
- Ruff and Ruff format hooks pass for all changed Python files.
- `git diff --check` passes.
- `uv run --no-sync isaaclab -f` passes all applicable hooks; the
repository-wide changelog checker reports pre-existing fragment
immutability/missing-fragment issues in unrelated packages. This PR
includes an `isaaclab_newton` `.skip` fragment.
## Checklist
- [x] I have read and followed the contribution guidelines.
- [x] I have run the relevant tests and included the results above.
- [x] I have formatted and linted the changed files.
- [x] I have added the appropriate changelog fragment.
## Screenshots
Not applicable.1 parent 3fcc9c6 commit 6aad90b
9 files changed
Lines changed: 125 additions & 281 deletions
File tree
- source/isaaclab_newton
- changelog.d
- test
- assets
- sensors
Whitespace-only changes.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
298 | 298 | | |
299 | 299 | | |
300 | 300 | | |
301 | | - | |
| 301 | + | |
302 | 302 | | |
303 | 303 | | |
304 | 304 | | |
| |||
373 | 373 | | |
374 | 374 | | |
375 | 375 | | |
376 | | - | |
| 376 | + | |
377 | 377 | | |
378 | 378 | | |
379 | 379 | | |
| |||
462 | 462 | | |
463 | 463 | | |
464 | 464 | | |
465 | | - | |
| 465 | + | |
466 | 466 | | |
467 | 467 | | |
468 | 468 | | |
| |||
530 | 530 | | |
531 | 531 | | |
532 | 532 | | |
533 | | - | |
| 533 | + | |
534 | 534 | | |
535 | 535 | | |
536 | 536 | | |
| |||
573 | 573 | | |
574 | 574 | | |
575 | 575 | | |
576 | | - | |
| 576 | + | |
577 | 577 | | |
578 | 578 | | |
579 | 579 | | |
| |||
919 | 919 | | |
920 | 920 | | |
921 | 921 | | |
922 | | - | |
| 922 | + | |
923 | 923 | | |
924 | 924 | | |
925 | 925 | | |
| |||
957 | 957 | | |
958 | 958 | | |
959 | 959 | | |
960 | | - | |
| 960 | + | |
961 | 961 | | |
962 | 962 | | |
963 | 963 | | |
| |||
999 | 999 | | |
1000 | 1000 | | |
1001 | 1001 | | |
1002 | | - | |
| 1002 | + | |
1003 | 1003 | | |
1004 | 1004 | | |
1005 | 1005 | | |
| |||
1058 | 1058 | | |
1059 | 1059 | | |
1060 | 1060 | | |
1061 | | - | |
| 1061 | + | |
1062 | 1062 | | |
1063 | 1063 | | |
1064 | 1064 | | |
1065 | | - | |
| 1065 | + | |
1066 | 1066 | | |
1067 | 1067 | | |
1068 | 1068 | | |
| |||
1089 | 1089 | | |
1090 | 1090 | | |
1091 | 1091 | | |
1092 | | - | |
1093 | | - | |
1094 | | - | |
| 1092 | + | |
| 1093 | + | |
1095 | 1094 | | |
1096 | 1095 | | |
1097 | 1096 | | |
| |||
1105 | 1104 | | |
1106 | 1105 | | |
1107 | 1106 | | |
1108 | | - | |
1109 | 1107 | | |
1110 | | - | |
| 1108 | + | |
1111 | 1109 | | |
1112 | 1110 | | |
1113 | 1111 | | |
1114 | 1112 | | |
1115 | | - | |
| 1113 | + | |
1116 | 1114 | | |
1117 | 1115 | | |
1118 | 1116 | | |
| |||
1199 | 1197 | | |
1200 | 1198 | | |
1201 | 1199 | | |
1202 | | - | |
| 1200 | + | |
1203 | 1201 | | |
1204 | 1202 | | |
1205 | 1203 | | |
| |||
Lines changed: 22 additions & 27 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
150 | | - | |
151 | | - | |
| 150 | + | |
152 | 151 | | |
153 | 152 | | |
154 | 153 | | |
| |||
282 | 281 | | |
283 | 282 | | |
284 | 283 | | |
285 | | - | |
| 284 | + | |
286 | 285 | | |
287 | 286 | | |
288 | 287 | | |
| |||
352 | 351 | | |
353 | 352 | | |
354 | 353 | | |
355 | | - | |
356 | | - | |
| 354 | + | |
| 355 | + | |
357 | 356 | | |
358 | 357 | | |
359 | 358 | | |
| |||
414 | 413 | | |
415 | 414 | | |
416 | 415 | | |
417 | | - | |
418 | | - | |
| 416 | + | |
| 417 | + | |
419 | 418 | | |
420 | 419 | | |
421 | 420 | | |
| |||
497 | 496 | | |
498 | 497 | | |
499 | 498 | | |
500 | | - | |
501 | | - | |
| 499 | + | |
| 500 | + | |
502 | 501 | | |
503 | 502 | | |
504 | 503 | | |
| |||
569 | 568 | | |
570 | 569 | | |
571 | 570 | | |
572 | | - | |
573 | | - | |
| 571 | + | |
| 572 | + | |
574 | 573 | | |
575 | 574 | | |
576 | 575 | | |
| |||
604 | 603 | | |
605 | 604 | | |
606 | 605 | | |
607 | | - | |
608 | | - | |
| 606 | + | |
| 607 | + | |
609 | 608 | | |
610 | 609 | | |
611 | 610 | | |
| |||
643 | 642 | | |
644 | 643 | | |
645 | 644 | | |
646 | | - | |
647 | | - | |
| 645 | + | |
| 646 | + | |
648 | 647 | | |
649 | 648 | | |
650 | 649 | | |
| |||
680 | 679 | | |
681 | 680 | | |
682 | 681 | | |
683 | | - | |
684 | | - | |
| 682 | + | |
| 683 | + | |
685 | 684 | | |
686 | 685 | | |
687 | 686 | | |
| |||
720 | 719 | | |
721 | 720 | | |
722 | 721 | | |
723 | | - | |
724 | | - | |
| 722 | + | |
| 723 | + | |
725 | 724 | | |
726 | 725 | | |
727 | 726 | | |
| |||
794 | 793 | | |
795 | 794 | | |
796 | 795 | | |
797 | | - | |
798 | | - | |
799 | | - | |
800 | 796 | | |
801 | 797 | | |
802 | 798 | | |
| |||
811 | 807 | | |
812 | 808 | | |
813 | 809 | | |
814 | | - | |
815 | 810 | | |
816 | 811 | | |
817 | 812 | | |
818 | | - | |
819 | | - | |
| 813 | + | |
| 814 | + | |
820 | 815 | | |
821 | 816 | | |
822 | 817 | | |
| |||
893 | 888 | | |
894 | 889 | | |
895 | 890 | | |
896 | | - | |
897 | | - | |
| 891 | + | |
| 892 | + | |
898 | 893 | | |
899 | 894 | | |
900 | 895 | | |
| |||
0 commit comments