microsoft / microsoft/vscode-cmake-tools

[Feature] CTest Test Suite Delimiter limit hierarchy levels

Open
#4,355 1 comment 1 reaction 0 assignees View on GitHub
enhancement
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.

![Image](https://github.com/user-attachments/assets/cf158837-2fc9-4736-89ee-e1ef31f003e6)

### Additional Information

_No response_

Contributor guide

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.