You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Strange issue. There is one test that is meant to cover the fallback feature of the scraper; if there is no git history, it will try to retrieve the timestamps based on standard node stat or lstat. To test this, I create some files, and "touch" one of them by both appending actual text to it, as well as forcibly changing the attributes.
On Windows, on Node V8 included, this test passes. However, on Travis CI, which is running Ubuntu, on Node v8 only, after file modification the "timeDelay" comes back as zero seconds, which would seem to indicate that the birthtimeMs is identical to mtimeMs, even after touching the file.
This really doesn't make much sense, given how many ways I am trying to force it to recognize a file modification has occurred.
I'm going to do some more digging, but this is really hard to troubleshoot, since I can't replicate at all locally.
The text was updated successfully, but these errors were encountered:
Finally found the issue. The short summary is that birthtime is unavailable on Linux, without using the newer statx(), which is available as a syscall / exposed via glibc, in kernel 4.11+. Node integrated this ability in v10.16.0+, so long as the kernel supports it.
Although the root cause can't really be fixed for Node V8 (at least without implementing glibc syscalls myself), test was patched by c7a6786 and then tweaked in 6bfc0c8. Essentially I skip the test that relies on a valid creation stamp if (node v < 10.16.0 && linux) OR (node v >= 10.16.0 && linux && kernel < 4.11).
joshuatz
changed the title
Travis CI - mtime based test fails 100% of the time on Node V8
Travis CI - creation time based test fails 100% of the time on Node V8
Sep 21, 2019
- Multiple methods, including main, were refactored to be async based
- Found that console.log was adding some overhead, so reduced use except behind --debug flag
- Updated tests
- Updated documentation
- Also fixed some TS stuff
Strange issue. There is one test that is meant to cover the fallback feature of the scraper; if there is no git history, it will try to retrieve the timestamps based on standard node
stat
orlstat
. To test this, I create some files, and "touch" one of them by both appending actual text to it, as well as forcibly changing the attributes.On Windows, on Node V8 included, this test passes. However, on Travis CI, which is running Ubuntu, on Node v8 only, after file modification the "timeDelay" comes back as zero seconds, which would seem to indicate that the
birthtimeMs
is identical tomtimeMs
, even after touching the file.This really doesn't make much sense, given how many ways I am trying to force it to recognize a file modification has occurred.
I'm going to do some more digging, but this is really hard to troubleshoot, since I can't replicate at all locally.
The text was updated successfully, but these errors were encountered: