Merge pull request #7116 from electron/restore-no-asar

Restore process.noAsar in finally block
This commit is contained in:
Cheng Zhao 2016-09-07 16:50:26 +09:00 committed by GitHub
commit e561608c0d
2 changed files with 13 additions and 3 deletions

View file

@ -675,9 +675,11 @@
childProcess[functionName] = function () {
const processNoAsarOriginalValue = process.noAsar
process.noAsar = true
const result = old.apply(this, arguments)
try {
return old.apply(this, arguments)
} finally {
process.noAsar = processNoAsarOriginalValue
return result
}
}
})

View file

@ -744,6 +744,14 @@ describe('asar package', function () {
fs.readdirSync(asar)
}, /ENOTDIR/)
})
it('is reset to its original value when execSync throws an error', function () {
process.noAsar = false
assert.throws(function () {
ChildProcess.execSync(path.join(__dirname, 'does-not-exist.txt'))
})
assert.equal(process.noAsar, false)
})
})
})