Skip to content

tests: make CoinTests selectable and observable - #46

Draft
tritao wants to merge 4 commits into
freecad-masterfrom
debug/cointest-runner
Draft

tests: make CoinTests selectable and observable#46
tritao wants to merge 4 commits into
freecad-masterfrom
debug/cointest-runner

Conversation

@tritao

@tritao tritao commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Add lightweight CoinTests command-line selection and progress reporting:

  • --list
  • --test NAME
  • --filter TEXT
  • --max-tests N
  • [RUN]/[DONE] progress markers

This is standalone test infrastructure and is independent of the renderer stack.

@tritao
tritao force-pushed the debug/cointest-runner branch 2 times, most recently from 2877a6e to a5d28b5 Compare August 10, 2026 23:08
@tritao
tritao force-pushed the draw-list-history-v2 branch from 23a2866 to 521a1be Compare August 10, 2026 23:12
@tritao tritao changed the title tests: make CoinTests filterable for crash diagnosis tests: make CoinTests selectable and observable Aug 10, 2026
@tritao
tritao force-pushed the debug/cointest-runner branch from a5d28b5 to 740acf3 Compare August 10, 2026 23:15
@tritao
tritao force-pushed the debug/cointest-runner branch from 740acf3 to 5deae22 Compare August 10, 2026 23:34
@tritao
tritao changed the base branch from draw-list-history-v2 to freecad-master August 10, 2026 23:34
@tritao
tritao marked this pull request as ready for review August 10, 2026 23:35
@tritao
tritao requested a review from Lgt2x August 10, 2026 23:35

@Lgt2x Lgt2x left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is nice, I'm fine with this contribution, but I would prefer to wire Coin tests to Ctest instead of investing dev time into a custom test runner. ctest has these features integrated with -N -R etc. This way, we can also expose the COIN_BUILD_TEST option in FreeCAD and have them running in the test suite if we want to.

Also, there are many tests named initialize that could be prefixed.

Comment thread testsuite/CoinTest.h Outdated
Comment on lines +186 to +187
std::fprintf(stderr, "[RUN %zu/%zu] %s (%s:%d)\n",
i + 1, tests.size(), tc.name, tc.file, tc.line);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running bin/CoinTests --max-tests 10 shows [RUN 1/325]. I would expect here for it to show [RUN 1/10], what do you think? Same for --filter.

@tritao

tritao commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator Author

This is nice, I'm fine with this contribution, but I would prefer to wire Coin tests to Ctest instead of investing dev time into a custom test runner.

Makes sense to me, I'll see about updating this to CTest.

@tritao
tritao marked this pull request as draft August 16, 2026 23:42
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.

2 participants