-
Notifications
You must be signed in to change notification settings - Fork 30.3k
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
test/timers/ #4404
Comments
It'll take a look at it soon(tm), I was actually looking through some of these tests recently. |
This test was not excluded, it was just never run as part of the tests suite run by the CI platform. The main reason why it wasn't added to the tests run by the CI platform at the time was that it wasn't running on all platform on which our CI tests' were running.
The failure on OSX can be fixed by this small patch:
But that wouldn't solve the broader issue of having that test run on all platforms. I think we should look into that again, as this test could catch an important regression. |
We have lots of tests that check to see what platform they are running on. If they are running on a platform where the test does not apply for whatever reason, the test prints TAP output indicating the test is to be skipped and then exits. We could likely do that for this test and then move it to |
I agree that enabling these tests as part of the CI tests on the platforms on which they currently run fine seems to only have benefits. Now, here are a few important notes:
|
Perhaps a good solution would be to put I played around with some changes to make it at least run under Linux on CI, but the results were mixed. I suspect we can get it going with just a bit more effort, though. |
Just to make sure we're on the same page, including faketime's source in node's tree is not necessary to make sure we have a version of faketime that builds on all supported platforms. For that we can just change
Where Moving libfaketime's source in tree would however have the additional advantage of not requiring any separate download or usage of git submodules. I haven't made up my mind on what would be my preferred solution yet. |
Sounds like you both understand more about what's going on than I do. |
Do we currently go out to the network for anything in CI other than the source for Node.js itself? If not, then I'd be inclined to put it in |
Add faketime to tools and enable test/timers in make test and make test-ci. Fixes: nodejs#4404
@misterdjules is there a simpler way we can induce non-monotonic clock drift without using another dependency? (Via an addon test maybe?) |
@Fishrock123 It would be possible to roll our own implementation, but I'm not sure it would make things any easier, as we'd still need to do the work to support SmartOS, Windows and other platforms. The advantage of using I'm not aware of any other way to reliably fake non-monotonic clock drift that would be practical for this specific use case, but don't let this prevent you from exploring, I may be missing something. |
Fixes: #4404 PR-URL: #5379 Reviewed-By: Julien Gilli <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]>
Fixes: #4404 PR-URL: #5379 Reviewed-By: Julien Gilli <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]>
Fixes: #4404 PR-URL: #5379 Reviewed-By: Julien Gilli <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]>
Fixes: #4404 PR-URL: #5379 Reviewed-By: Julien Gilli <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]>
test-timers-reliability.js
is failing consistently on OS X (and probably elsewhere). Is this something that needs to be addressed or is the test obsolete?CC=@Fishrock123
It isn't caught on CI because this particular test is not run on CI. I don't know why it was excluded. Might have been placed in a directory that was appropriate for an older version of Node.js and never moved to
test/parallel
ortest/sequential
.Here is the output I get on OS X:
The text was updated successfully, but these errors were encountered: