summaryrefslogtreecommitdiff
path: root/test/wasm.js
blob: 87d050eb9c181de7c39f621b7fe1901d21705b4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if (arguments.length != 1) {
  print('usage: d8 wasm.js -- <filename>');
  quit(0);
}

var ffi = { print: print };
var buffer = readbuffer(arguments[0]);
var module = WASM.instantiateModule(buffer, ffi);

var name;
var f;
var result;

for (name in module) {
  f = module[name];
  if (!(f instanceof Function))
    continue;

  if (name.lastIndexOf('trap', 0) === 0) {
    try {
      result = f();
      print('Expected ' + name + '() to trap, instead got: ' + result);
    } catch (e) {
      print(name + '() trapped: ' + e.toString());
    }
  } else {
    print(name + '() = ' + f());
  }
}