Use hashed file contents as unique test ID #1605
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.
Issue #1561
Bug
TFS unable to detect the same test failing in a previous build if the path of the
*.js
file differs.Since a test's path is used in its
FullyQualifiedName
, the same test run on two different agents with different drive names (i.e:D:/
vs.C:/
drives) will not be recognized as the same test by TFS.Fix
Hash the contents of the test file using SHA1 (so as not to slow down test discovery significantly) and use this as a
ModuleName
/ unique ID.Previous
FullyQualifiedId
:C:\some\path\to\my\test.js::Suite 1 Test 1::Mocha
New
FullyQualifiedId
:test[60E439FF4023183BDC8C]::Suite 1 Test 1::Mocha
NOTE: An assumption using this method is that two test files do not exist in the same project with the exact same name and contents.
Testing
FullyQualifiedId
This will ensure intended TFS behavior of failed test detection in current vs. previous builds.
Please let me know if there are any improvements or changes I should make. Thanks!