summaryrefslogtreecommitdiff
path: root/deps/npm/test/tap/meta-test-flaky-root-ownership-test.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/test/tap/meta-test-flaky-root-ownership-test.js')
-rw-r--r--deps/npm/test/tap/meta-test-flaky-root-ownership-test.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/deps/npm/test/tap/meta-test-flaky-root-ownership-test.js b/deps/npm/test/tap/meta-test-flaky-root-ownership-test.js
new file mode 100644
index 0000000000..24dd9e3d95
--- /dev/null
+++ b/deps/npm/test/tap/meta-test-flaky-root-ownership-test.js
@@ -0,0 +1,20 @@
+const t = require('tap')
+if (!process.getuid || process.getuid() !== 0 || !process.env.SUDO_UID || !process.env.SUDO_GID) {
+ t.pass('this test only runs in sudo mode')
+ t.end()
+ process.exit(0)
+}
+
+const common = require('../common-tap.js')
+const fs = require('fs')
+const mkdirp = require('mkdirp')
+mkdirp.sync(common.cache + '/root/owned')
+fs.writeFileSync(common.cache + '/root/owned/file.txt', 'should be chowned')
+const chown = require('chownr')
+
+// this will fire after t.teardown() but before process.on('exit')
+setTimeout(() => {
+ chown.sync(common.cache, +process.env.SUDO_UID, +process.env.SUDO_GID)
+}, 100)
+
+t.pass('this is fine')