Skip to content

test: set umask for tests - #25229

Closed
Trott wants to merge 2 commits into
nodejs:masterfrom
Trott:tmpdir-umask
Closed

test: set umask for tests#25229
Trott wants to merge 2 commits into
nodejs:masterfrom
Trott:tmpdir-umask

Conversation

@Trott

@TrottTrott commented Dec 26, 2018

Copy link
Copy Markdown
Member

#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

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@nodejs-github-botnodejs-github-bot added the test Issues and PRs related to the tests. label Dec 26, 2018
@Trott

Copy link
Copy Markdown
MemberAuthor

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

Copy link
Copy Markdown
MemberAuthor

@TrottTrott added the wip Issues and PRs that are still a work in progress. label Dec 26, 2018
@lpinca

Copy link
Copy Markdown
Member

Lot of failures.

@Trott

Trott commented Dec 26, 2018

Copy link
Copy Markdown
MemberAuthor

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

Copy link
Copy Markdown
MemberAuthor

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.

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.
@TrottTrott removed the wip Issues and PRs that are still a work in progress. label Jan 9, 2019
@Trott

Trott commented Jan 9, 2019

Copy link
Copy Markdown
MemberAuthor

@Trott

Trott commented Jan 9, 2019

Copy link
Copy Markdown
MemberAuthor

@Trott

Copy link
Copy Markdown
MemberAuthor

Landed in a53518d

@TrottTrott closed this Jan 10, 2019
Trott added a commit to Trott/io.js that referenced this pull request Jan 10, 2019
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 pushed a commit that referenced this pull request Jan 14, 2019
#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>
@BridgeARBridgeAR mentioned this pull request Jan 16, 2019
BridgeAR pushed a commit to BridgeAR/node that referenced this pull request Jan 16, 2019
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>
@MylesBorinsMylesBorins mentioned this pull request Jan 24, 2019
@Trott
Trott deleted the tmpdir-umask branch January 13, 2022 22:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

testIssues and PRs related to the tests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@Trott@nodejs-github-bot@lpinca@jasnell@cjihrig