-
Notifications
You must be signed in to change notification settings - Fork 9
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
Ensure that database value of md5 is retracted when re-calculating hash. #76
base: master
Are you sure you want to change the base?
Conversation
Fixes #75 However, causes md5.time test to fail
@ihh I'm not totally grokking the md5.time test which now fails, will try and look into this more later |
I guess there are two possibilities: the test is now broken, or it was broken before and you just fixed it, but the "what it's meant to look like" file dates from when it was broken.... I'll look when I get a chance..... |
Boomp? |
Any chance this might be looked at again? |
@cmungall The purpose of this test (test-159) was to check that biomake would recompute the MD5 hash if the file in which the hash was cached had an older timestamp than the file whose hash was supposedly cached there. The correct behavior in this case is to recompute the hash but NOT rebuild the file (it is not the file that is incorrect, but the hash). This particular test-159 tries to check this behavior as follows:
Internally, a call to The problem is exacerbated by a poorly designed test. If the initial value of "hello_world" was not "wrong_wrong" but something else, then the problem would have been exposed earlier. You can see debug messages to this effect turning on the
Do this with and without your extra I now need to figure out why |
The more I think about it, the more I think that rebuilding the target file actually is the correct behavior if its MD5 hash file turns out to be stale. It should only not rebuild the file if the MD5 hash, when recomputed, turns out to be the same as the cached value in the file. So I updated test-159 to reflect this scenario (recomputed hash is the same as what was already stored), and added a new test (test-160) for the converse situation when the recomputed hash is different from what was stored, triggering a rebuild. @cmungall if you could add a test confirming that this fixes #75, that'd be great In the meantime @rulatir I think this should address your needs, hopefully. Thanks for your persistence. |
Fixes #75
However, causes md5.time test to fail