eyereasoner / eye-js

A distribution of EYE reasoner in the JavaScript ecosystem using Webassembly.
https://eyereasoner.github.io/eye-js/example/
MIT License
39 stars 5 forks source link

Investigate missing results #704

Open jeswr opened 12 months ago

jeswr commented 12 months ago

See this failed job https://github.com/eyereasoner/eye-js/actions/runs/6789188761/job/18455853680?pr=703 on a branch that doesn't modfiy anything but workflow configs.

In particular the result is

Run npm test

> eyereasoner@0.0.0 test
> npm run test:unit && npm run test:memory

npm WARN cli npm v10.2.3 does not support Node.js v16.20.2. This version of npm supports the following node versions: `^18.17.0 || >=20.5.0`. You can find the latest version at [https://nodejs.org/.](https://nodejs.org/)

> eyereasoner@0.0.0 test:unit
> npm run bundle:webpack && jest

npm WARN cli npm v10.2.3 does not support Node.js v16.20.2. This version of npm supports the following node versions: `^18.17.0 || >=20.5.0`. You can find the latest version at [https://nodejs.org/.](https://nodejs.org/)

> eyereasoner@0.0.0 bundle:webpack
> webpack --config webpack.config.js

asset index.js 3.35 MiB [emitted] [minimized] [big] (name: main) 1 related asset
orphan modules 120 KiB [orphan] 9 modules
runtime modules 1.25 KiB 6 modules
modules by path ./node_modules/ 3.16 MiB
  modules by path ./node_modules/readable-stream/lib/ 191 KiB 24 modules
  modules by path ./node_modules/swipl-wasm/dist/ 2.77 MiB 2 modules
  + 10 modules
modules by path ./dist/*.js 474 KiB
  ./dist/index.js 1.17 KiB [built] [code generated]
  ./dist/query.js 741 bytes [built] [code generated]
  ./dist/transformers.js 4.11 KiB [built] [code generated]
  + 2 modules
fs (ignored) 15 bytes [built] [code generated]
path (ignored) 15 bytes [built] [code generated]
crypto (ignored) 15 bytes [optional] [built] [code generated]

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets: 
  index.js (3.35 MiB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  main (3.35 MiB)
      index.js

WARNING in webpack performance recommendations: 
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/

webpack 5.89.0 compiled with 3 warnings in 8043 ms
PASS __tests__/cli-test.ts (21.065 s)
PASS __tests__/browser-test.ts (48.916 s)
FAIL __tests__/e2e-test.ts (50.308 s)
  ● Testing browsers › should be able to call the execute function in firefox

    expect(received).resolves.toEqual(expected) // deep equality

    Expected: "@prefix : .:Socrates a :Mortal."
    Received: ""

      36 |
      37 |         await expect(page.textContent('textarea[id=data]').then((r) => r?.trim())).resolves.toEqual(data.trim());
    > 38 |         await expect(page.textContent('div[id=result]').then((r) => r?.trim())).resolves.toEqual('@prefix : .:Socrates a :Mortal.');
         |                                                                                          ^
      39 |
      40 |         await page.click('button[id=clear]');
      41 |         // Time for new result to be inserted in the DOM

      at Object.toEqual (node_modules/expect/build/index.js:174:22)
      at Object.<anonymous> (__tests__/e2e-test.ts:38:90)

PASS __tests__/node-test.ts (31.2 s)
A worker process has failed to exit gracefully and has been force exited. This is likely caused by tests leaking due to improper teardown. Try running with --detectOpenHandles to find leaks. Active timers can also cause this, ensure that .unref() was called on them.
---------------------|---------|----------|---------|---------|-------------------
File                 | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
---------------------|---------|----------|---------|---------|-------------------
All files            |     100 |    98.21 |     100 |     100 |                   
 dist                |     100 |      100 |     100 |     100 |                   
  eye.d.ts           |       0 |        0 |       0 |       0 |                   
  eye.js             |     100 |      100 |     100 |     100 |                   
  index.d.ts         |       0 |        0 |       0 |       0 |                   
  n3Writer.temp.d.ts |       0 |        0 |       0 |       0 |                   
  n3Writer.temp.js   |     100 |      100 |     100 |     100 |                   
  query.d.ts         |       0 |        0 |       0 |       0 |                   
  query.js           |     100 |      100 |     100 |     100 |                   
  transformers.d.ts  |       0 |        0 |       0 |       0 |                   
  transformers.js    |     100 |      100 |     100 |     100 |                   
 dist/bin            |     100 |    88.88 |     100 |     100 |                   
  index.d.ts         |       0 |        0 |       0 |       0 |                   
  main.d.ts          |       0 |        0 |       0 |       0 |                   
  main.js            |     100 |    88.88 |     100 |     100 | 3                 
---------------------|---------|----------|---------|---------|-------------------

Test Suites: 1 failed, 3 passed, 4 total
Tests:       1 failed, 73 passed, 74 total
Snapshots:   0 total
Time:        61.82 s
Ran all test suites.

Might be a result of the bump in swipl-wasm?

jeswr commented 8 months ago

I'm continuing to see this problem on and off - I now suspect that it is caused by some non-determinism in building the .pvm image.