Skip to content
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: skip fs.watch on Travis #22589

Closed
wants to merge 1 commit into from

Conversation

refack
Copy link
Contributor

@refack refack commented Aug 29, 2018

Fixes: #21310
Refs: https://docs.travis-ci.com/user/environment-variables/#default-environment-variables

Refs: #24198 (comment)

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines

@nodejs-github-bot nodejs-github-bot added async_hooks Issues and PRs related to the async hooks subsystem. test Issues and PRs related to the tests. labels Aug 29, 2018
@refack refack force-pushed the skip-fs-watch-on-travis branch 3 times, most recently from 423a367 to 57e9b89 Compare August 29, 2018 17:25
@refack
Copy link
Contributor Author

refack commented Aug 29, 2018

/CC @nodejs/testing

test/common/index.js Outdated Show resolved Hide resolved
test/common/index.js Outdated Show resolved Hide resolved
test/common/README.md Outdated Show resolved Hide resolved
@BridgeAR
Copy link
Member

BridgeAR commented Sep 5, 2018

Ping @refack

@refack refack added the wip Issues and PRs that are still a work in progress. label Sep 5, 2018
@mscdex
Copy link
Contributor

mscdex commented Sep 5, 2018

I still wonder if we can't instead fix the root of the problem in some way, perhaps as I suggested here or some other solution?

@refack
Copy link
Contributor Author

refack commented Sep 6, 2018

I still wonder if we can't instead fix the root of the problem in some way, perhaps as I suggested here or some other solution?

Since it tests in the faster boot container, we run with:

sudo: false

IMHO switching to the full VM is not worth it, it will be slower (and it's not nice to Travis.com who are giving us this service for free). Also since we only use the Travis report as a quick way to get feedback, and not as a replacement to our testing cluster, I don't feel bad about trimming down the test suite that runs on Travis.

On the other hand, I'm not 100% about adding cruft to our tests. A better approach is probably to enable ignoring tests via https://github.com/nodejs/node/blob/master/test/parallel/parallel.status

@richardlau
Copy link
Member

A better approach is probably to enable ignoring tests via https://github.com/nodejs/node/blob/master/test/parallel/parallel.status

I'd much prefer this than the current approach in this PR.

@refack refack added fs Issues and PRs related to the fs subsystem / file system. and removed wip Issues and PRs that are still a work in progress. labels Nov 7, 2018
@refack
Copy link
Contributor Author

refack commented Nov 7, 2018

CI: https://ci.nodejs.org/job/node-test-pull-request/18384/

@nodejs/testing @nodejs/fs PTAL

@thefourtheye
Copy link
Contributor

The tests being skipped here need to be tested on all our supported platforms. We even have captured the caveats in our docs, here.

I understand these tests make our CI flaky, but I would prefer not to skip them if that is an option.

@richardlau
Copy link
Member

I still wonder if we can't instead fix the root of the problem in some way, perhaps as I suggested here or some other solution?

Since it tests in the faster boot container, we run with:

node/.travis.yml

Line 4 in 04195ad
sudo: false

IMHO switching to the full VM is not worth it, it will be slower (and it's not nice to Travis.com who are giving us this service for free). Also since we only use the Travis report as a quick way to get feedback, and not as a replacement to our testing cluster, I don't feel bad about trimming down the test suite that runs on Travis.

FYI The container-based environment is being phased out: https://blog.travis-ci.com/2018-10-04-combining-linux-infrastructures

@refack
Copy link
Contributor Author

refack commented Nov 8, 2018

I understand these tests make our CI flaky, but I would prefer not to skip them if that is an option.

Just to be clear, it's not skipped on our CI, only Travis (which we don't consider an official CI)

@refack
Copy link
Contributor Author

refack commented Nov 8, 2018

Copy link
Contributor

@thefourtheye thefourtheye left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@refack Thanks for clarifying. I overlooked that initially.

We skip 3 tests that make intensive use of FS watcher on Travis because
it has a limit of the number of watchers that can be used.

Refs: travis-ci.com/nodejs/node/jobs/142234998
Refs: docs.travis-ci.com/user/environment-variables/#default-environment-variables
@refack
Copy link
Contributor Author

refack commented Nov 9, 2018

But, Rich, someone seeing process.env.TRAVIS will know that it's checking for Travis but not why. common.hasLimitedFSWatchers() explains right in the name the reason that we are skipping the test. (And if you don't think so, suggest a better name, Rich!)

I inlined the test logic (if (process.env.TRAVIS)) and used the skip message to explain why ('Skip fs.watch-intensive test because of Travis limitation.')

CI: https://ci.nodejs.org/job/node-test-pull-request/18464/

@Trott
Copy link
Member

Trott commented Nov 20, 2018

Might be good to hold off on landing this until after #24511 to see if that fixes the problem. I'm going to put a blocked label here, but feel free to remove it if you feel that's not the right way to go.

@Trott Trott added the blocked PRs that are blocked by other issues or PRs. label Nov 20, 2018
@refack
Copy link
Contributor Author

refack commented Nov 20, 2018

Let's close this as superseded by #24511 (since even if that doesn't directly solve the issue we should just increase the number of watchers allowed)

@refack refack closed this Nov 20, 2018
@refack refack added superseded and removed blocked PRs that are blocked by other issues or PRs. labels Nov 20, 2018
@refack refack deleted the skip-fs-watch-on-travis branch November 20, 2018 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
async_hooks Issues and PRs related to the async hooks subsystem. fs Issues and PRs related to the fs subsystem / file system. test Issues and PRs related to the tests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

test,flake: async-hooks/test-fseventwrap flaky on Travis
9 participants