Setting up better infrastructure for tests. Those are low level kernel APIs.
Moved common js loader into the kernel, require() would work without any scripts loaded from initrd. This is needed to run tests in the empty environment, without loading runtime.js core library.
__SYSCALL.onexit = function() {} - function called when runtime.js is about to exit similar to process.on('exit') in Node. Restarts the system by default.
Possibly unhandled promise rejection: Error: oops
at /index.js:48:11
at /index.js:97:3
at Module.require (__loader:203:11)
at Object.require (__loader:218:27)
at __loader:242:10
at __loader:246:3
Unhandled promise rejection has been handled.
Setting up better infrastructure for tests. Those are low level kernel APIs.
require()
would work without any scripts loaded from initrd. This is needed to run tests in the empty environment, without loading runtime.js core library.__SYSCALL.onexit = function() {}
- function called when runtime.js is about to exit similar toprocess.on('exit')
in Node. Restarts the system by default.__SYSCALL.onerror = function(err) {}
- uncaught exception handler, triggers exit by default.__SYSCALL.exit()
- force exit__SYSCALL.poweroff()
- power off the system, will exit qemu/kvm.__SYSCALL.unrefTimer()
- ignore timer and allow runtime.js to exitrequire.resolve()
For example, this line will poweroff runtime.js when there is nothing else to do (no listeners and empty event loop) or in case of an error.
Promise. Those are global to match browser APIs.
global.onunhandledrejection = function({ promise, reason }) {}
- similar to https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onunhandledrejectionglobal.onrejectionhandled = function({ promise }) {}
- similar to https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onrejectionhandledAdding actual tests is in progress