Account for module wrapping Minitest specs #3715
Merged
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
Closes #3712
When we find no test classes, we were considering the describe groups to start at index 1 in our stack of test groups. If you have a module wrapping those specs, that won't be true as there will be a corresponding
nilentry in the stack (which we use to balance the stack).We need to search for what is actually the first index to account for this possibility.
Implementation
Started searching for what is the first spec group, rather than assuming that it's always the first one. I also moved our
in_spec_context?check since we want to allow thedescribeto be discovered even if the nesting is not empty and we haven't yet found a spec group (which is what happens when there's only a top level module).Automated Tests
Added a test that reproduces the scenario.