11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_cirequire('../common'); 31cb0ef41Sopenharmony_ciconst assert = require('assert'); 41cb0ef41Sopenharmony_ci 51cb0ef41Sopenharmony_ci// Ensure that the reallyExit hook is executed. 61cb0ef41Sopenharmony_ci// see: https://github.com/nodejs/node/issues/25650 71cb0ef41Sopenharmony_ciif (process.argv[2] === 'subprocess') { 81cb0ef41Sopenharmony_ci process.reallyExit = function() { 91cb0ef41Sopenharmony_ci console.info('really exited'); 101cb0ef41Sopenharmony_ci }; 111cb0ef41Sopenharmony_ci process.exit(); 121cb0ef41Sopenharmony_ci} else { 131cb0ef41Sopenharmony_ci const { spawnSync } = require('child_process'); 141cb0ef41Sopenharmony_ci const out = spawnSync(process.execPath, [__filename, 'subprocess']); 151cb0ef41Sopenharmony_ci const observed = out.output[1].toString('utf8').trim(); 161cb0ef41Sopenharmony_ci assert.strictEqual(observed, 'really exited'); 171cb0ef41Sopenharmony_ci} 18