Skip to content
This repository has been archived by the owner on Jul 3, 2020. It is now read-only.

[wip] Tests & tests infrastructure #132

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Conversation

iefserge
Copy link
Member

@iefserge iefserge commented Aug 21, 2016

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.
  • __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 exit
  • require.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.

__SYSCALL.onexit = __SYSCALL.poweroff;

Promise. Those are global to match browser APIs.

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.

Adding actual tests is in progress

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant