i64cf.js 880 B

123456789101112131415161718192021222324252627282930
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft Corporation and contributors. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. passed = true;
  6. function check(expected, funName, ...args)
  7. {
  8. let fun = eval(funName);
  9. var result;
  10. try {
  11. result = fun(...args);
  12. } catch (e) {
  13. result = e.message;
  14. }
  15. if(result != expected) {
  16. passed = false;
  17. print(`${funName}(${[...args]}) produced ${result}, expected ${expected}`);
  18. }
  19. }
  20. var mod = new WebAssembly.Module(readbuffer('i64cf.wasm'));
  21. var a = new WebAssembly.Instance(mod).exports;
  22. check(21, "a.while");
  23. if (passed)
  24. {
  25. print("Passed");
  26. }