-
Notifications
You must be signed in to change notification settings - Fork 357
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use hashed file contents as unique test ID #1605
Conversation
Overall this looks pretty good... I'm not sure cutting the hash in half, gives a random enough hash... and I'm sure we'll get flagged for using this algorithm, so we'll have to explain that we're not using it for encryption. Would |
I'm not sure |
Another way I could think to solve this problem would be:
Let me know your thoughts on this. I'm not sure how big of an inconvenience it is getting flagged for crypto, but it seems hashing the file contents is the simplest way to get an ID unique to the test file itself. |
Yeah, I'm thinking I should just take it as is for 1.3 and see if we can come up with something else for 1.4. I'll take another look this week and either merge it or explain any changes I want. Thanks! |
Hi guys-- just wondering if you've had a chance to review this yet? We are using a private build internally currently and so far, so good. But would be nice to get an official release. |
I'll get a build out later today. |
Great, thanks! |
Here you go, please let me know if you encounter any issues. /~https://github.com/Microsoft/nodejstools/releases/tag/v1.3.1 |
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!