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: set umask for tests #25229

Closed
wants to merge 2 commits into from

Conversation

@Trott
Copy link
Member

commented Dec 26, 2018

#25213 proposes setting umask in the
Python test runner to avoid spurious test failures when running from a
shell with a restrictive umask. This is a good idea, but will only fix
the issue for tests run with the Python runner. Set it in
common/index.js as well so that it fixes it even when tests are run
directly with a node binary, bypassing the Python test runner.

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
@Trott

This comment has been minimized.

Copy link
Member Author

commented Dec 26, 2018

Before:

$ umask 077 && ./node test/parallel/test-fs-mkdir-mode-mask.js 
assert.js:86
  throw new AssertionError(obj);
  ^

AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:

384 !== 420

    at test (/Users/trott/io.js/test/parallel/test-fs-mkdir-mode-mask.js:32:12)
    at Object.<anonymous> (/Users/trott/io.js/test/parallel/test-fs-mkdir-mode-mask.js:44:1)
    at Module._compile (internal/modules/cjs/loader.js:718:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:729:10)
    at Module.load (internal/modules/cjs/loader.js:617:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:771:12)
    at executeUserCode (internal/bootstrap/node.js:389:15)
    at startExecution (internal/bootstrap/node.js:328:3)
$ 

After:

$ umask 077 && ./node test/parallel/test-fs-mkdir-mode-mask.js 
$ 
@Trott

This comment has been minimized.

Copy link
Member Author

commented Dec 26, 2018

@lpinca
lpinca approved these changes Dec 26, 2018
@lpinca

This comment has been minimized.

Copy link
Member

commented Dec 26, 2018

Lot of failures.

@Trott

This comment has been minimized.

Copy link
Member Author

commented Dec 26, 2018

Lot of failures.

Yes, I added the WIP label because it needs to account for situations (mostly or entirely worker_threads in our tests) where process.umask() is not available.

@Trott

This comment has been minimized.

Copy link
Member Author

commented Dec 26, 2018

Yes, I added the WIP label because it needs to account for situations (mostly or entirely worker_threads in our tests) where process.umask() is not available.

It's probably as simple as checking for existence first and doing nothing if it's not there (and assuming a parent process took care of it) but I want to check carefully to make sure there's nothing that requires anything more than that.

test: set umask for tests
#25213 proposes setting umask in the
Python test runner to avoid spurious test failures when running from a
shell with a restrictive umask. This is a good idea, but will only fix
the issue for tests run with the Python runner. Set it in
`common/index.js` as well so that it fixes it even when tests are run
directly with a `node` binary, bypassing the Python test runner.

@Trott Trott force-pushed the Trott:tmpdir-umask branch from e4276b9 to 055ab4c Jan 9, 2019

@Trott

This comment has been minimized.

Copy link
Member Author

commented Jan 9, 2019

@Trott Trott force-pushed the Trott:tmpdir-umask branch from 055ab4c to 8036a8b Jan 9, 2019

@Trott

This comment has been minimized.

Copy link
Member Author

commented Jan 9, 2019

@Trott

This comment has been minimized.

Copy link
Member Author

commented Jan 10, 2019

Landed in a53518d

@Trott Trott closed this Jan 10, 2019

Trott added a commit to Trott/io.js that referenced this pull request Jan 10, 2019
test: set umask for tests
nodejs#25213 proposes setting umask in the
Python test runner to avoid spurious test failures when running from a
shell with a restrictive umask. This is a good idea, but will only fix
the issue for tests run with the Python runner. Set it in
`common/index.js` as well so that it fixes it even when tests are run
directly with a `node` binary, bypassing the Python test runner.

PR-URL: nodejs#25229
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
addaleax added a commit that referenced this pull request Jan 14, 2019
test: set umask for tests
#25213 proposes setting umask in the
Python test runner to avoid spurious test failures when running from a
shell with a restrictive umask. This is a good idea, but will only fix
the issue for tests run with the Python runner. Set it in
`common/index.js` as well so that it fixes it even when tests are run
directly with a `node` binary, bypassing the Python test runner.

PR-URL: #25229
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@BridgeAR BridgeAR referenced this pull request Jan 16, 2019
BridgeAR added a commit to BridgeAR/node that referenced this pull request Jan 16, 2019
test: set umask for tests
nodejs#25213 proposes setting umask in the
Python test runner to avoid spurious test failures when running from a
shell with a restrictive umask. This is a good idea, but will only fix
the issue for tests run with the Python runner. Set it in
`common/index.js` as well so that it fixes it even when tests are run
directly with a `node` binary, bypassing the Python test runner.

PR-URL: nodejs#25229
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@MylesBorins MylesBorins referenced this pull request Jan 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.