hexo/node_modules/node-gyp/test/test-install.js

47 lines
845 B
JavaScript

'use strict'
const { test } = require('tap')
const { test: { install } } = require('../lib/install')
const log = require('npmlog')
log.level = 'error' // we expect a warning
test('EACCES retry once', async (t) => {
t.plan(3)
const fs = {
promises: {
stat (_) {
const err = new Error()
err.code = 'EACCES'
t.ok(true)
throw err
}
}
}
const Gyp = {
devDir: __dirname,
opts: {
ensure: true
},
commands: {
install (argv, cb) {
install(fs, Gyp, argv).then(cb, cb)
},
remove (_, cb) {
cb()
}
}
}
try {
await install(fs, Gyp, [])
} catch (err) {
t.ok(true)
if (/"pre" versions of node cannot be installed/.test(err.message)) {
t.ok(true)
}
}
})