'use strict'; // Flags: --expose-internals require('../common'); const { internalBinding } = require('internal/test/binding'); const assert = require('assert'); // Monkey patch the os binding before requiring any other modules, including // common, which requires the os module. internalBinding('os').getHomeDirectory = function(ctx) { ctx.syscall = 'foo'; ctx.code = 'bar'; ctx.message = 'baz'; }; const os = require('os'); assert.throws(os.homedir, { message: /^A system error occurred: foo returned bar \(baz\)$/ });