summaryrefslogtreecommitdiff
path: root/test/parallel/test-process-umask-mask.js
blob: d599379761fd4063917b85fa631c8f4b25f4caa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
'use strict';

// This tests that the lower bits of mode > 0o777 still works in
// process.umask()

const common = require('../common');
const assert = require('assert');

if (!common.isMainThread)
  common.skip('Setting process.umask is not supported in Workers');

let mask;

if (common.isWindows) {
  mask = 0o600;
} else {
  mask = 0o664;
}

const maskToIgnore = 0o10000;

const old = process.umask();

function test(input, output) {
  process.umask(input);
  assert.strictEqual(process.umask(), output);

  process.umask(old);
}

test(mask | maskToIgnore, mask);
test((mask | maskToIgnore).toString(8), mask);