gtest: fix XML filename collisions#15912
Closed
ChandruRavi3708 wants to merge 1 commit into
Closed
Conversation
Member
|
Duplicate of #15875 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Fix gtest log filename collisions when multiple tests share the same name across different suites.
Previously, gtest XML log filenames were generated using only the test name. When identical test names existed in multiple suites, they could write to the same output file, causing overwrites, race conditions, and inconsistent results during parallel execution.
This change ensures uniqueness by incorporating the full suite path along with the test name when generating gtest log filenames.
Problem
Given tests such as:
suite_1 / basic_test_1
suite_2 / basic_test_1
both produced the same XML filename:
basic_test_1.xml
This led to:
overwritten test results
intermittent XML parsing errors
non-deterministic failures in parallel runs
Solution
Update gtest log filename generation to include the suite name:
'-'.join(self.test.suite + [self.test.name]) + '.xml'
This guarantees each test instance produces a unique XML output file.
Testing
Reproduced the issue using the scenario described in issue #15757
Ran the test suite locally
Verified that identical test names across different suites generate unique XML files
Verified no collisions during parallel execution
Confirmed backward compatibility for tests without suite names
Fixes
Fixes #15757