microsoft / microsoft/vscode-cmake-tools
[Feature] CTest Test Suite Delimiter limit hierarchy levels
- Dominant language
- TypeScript
- Stars
- 1.7k
- Forks
- 546
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 32
Description
### Request Overview
We use GTest as our test framework. I recently started to use the delimiter to group our tests as the lists were getting super long. This worked great on one of our suites now on another suite I came across some small nuisance.
My GTest names look like:
`TestBinary:TestTest/Fixture.Test/path/to/file # GetParam() = "../../path/to/some/file`
Generated automatically from a `INSTANTIATE_TEST_SUITE_P` that lists a bunch of files to test with. Has been working great for many years.
Now the Delimiter regex does not allow me to limit the amount of hierarchy levels being created. As I want to split on `:` and `.` I set my expression to `:|\.`. However as `.` is also present in the `# GetParam() ` part of he test name this adds many extra hierarchy levels that all reference the exact same test in GTest.

### Additional Information
_No response_
Contributor guide
Research direction
No file or test is named in the issue. Start by locating the CTest delimiter configuration and the code that builds hierarchy levels, then define coverage for limiting delimiter-derived levels while preserving the requested `:` and `.` grouping; done means parameter suffixes no longer create unwanted extra levels.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, typescript
- Domain
- testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100