Skip to content

Preserve tags and skip on parameterized tests - #715

Merged
kris-jusiak merged 1 commit into
boost-ext:masterfrom
fhgffy:fix/parameterized-test-tags-555
Oct 4, 2026
Merged

kris-jusiak merged 1 commit into
boost-ext:masterfrom
fhgffy:fix/parameterized-test-tags-555

Conversation

@fhgffy

@fhgffy fhgffy commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Problem:

  • Parameterized tests discard their tags when emitting test events. A parameterized test tagged other runs even when cfg<override>.tag selects a different tag; skip is also ignored for range and tuple parameters.

Solution:

  • Pass the existing tags into each event from both parameterization adapters so the runner applies its existing tag and skip rules.
  • Preserve two-argument callbacks and direct adapter calls; check the actual three-argument call expression before selecting it.
  • Add regression coverage for skipped range/value/type parameters, multiple tags, empty inputs, and a ref-qualified legacy callback.

Issue: Closes #555

Validation:

  • Reproduced the original bug with execution counters: the rejected parameter runs on the base and is skipped after the fix. The new upstream regression fails on the unmodified header.
  • Windows MinGW g++ 15.1.0, C++20 header mode, CMake 4.3.2 and Ninja 1.13.2; Release build with -Wall -Wextra -Wpedantic -Werror -Wshadow.
  • Full build passed. CTest passed 4/4 registered tests. The upstream default post-build execution also passed all 47 programs: 6 benchmarks, 37 examples and 4 tests.
  • Focused real-runner checks passed for matching/rejected/multiple tags, skip precedence, untagged and empty inputs, nested tests, and legacy callbacks.
  • MSVC, Clang, Linux/macOS, modules, sanitizers and clang-format/clang-tidy were not run locally. The benchmark programs ran successfully; no controlled before/after timing comparison is claimed.

Reviewers:

@fhgffy
fhgffy marked this pull request as ready for review October 4, 2026 11:03
@fhgffy

fhgffy commented Oct 4, 2026

Copy link
Copy Markdown
Contributor Author

The failing Windows jobs are unrelated to this change. They fail at the CMake configure step on master too, because windows-latest no longer has Visual Studio 2022. #716 fixes the workflows. The Linux, macOS, Emscripten and Install workflows pass here.

@kris-jusiak
kris-jusiak merged commit 18690cf into boost-ext:master Oct 4, 2026
6 of 10 checks passed
@kris-jusiak

Copy link
Copy Markdown
Contributor

Thanks @fhgffy

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.

Tags/skip does not work with parametrized tests

2 participants