Apply correct nesting structure for nested tests #3497
Merged
+69
−22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
We were creating a flat hierarchy for nested tests, but that's not very accurate. We need to ensure that test items are nested similarly to tests, so that if you run the outer group, it works as expected.
For example
In this case, running
OuterGroup
should run theInnerGroup
as well.Implementation
I started keeping a flat stack of parents, so that we can always add the items to the appropriate nesting. I used
nil
to represent classes that are not tests, so that the logic for popping the stack can be simpler.Automated Tests
Added tests.