diff --git a/package.json b/package.json index 3acf1252..bce606e4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "porffor", "description": "a basic experimental wip aot optimizing js -> wasm engine/compiler/runtime in js", - "version": "0.55.14", + "version": "0.55.15", "author": "CanadaHonk", "license": "MIT", "scripts": {}, diff --git a/runner/index.js b/runner/index.js index 350162fc..003797b2 100644 --- a/runner/index.js +++ b/runner/index.js @@ -1,6 +1,6 @@ #!/usr/bin/env node import fs from 'node:fs'; -globalThis.version = '0.55.14'; +globalThis.version = '0.55.15'; // deno compat if (typeof process === 'undefined' && typeof Deno !== 'undefined') { diff --git a/test262/fails.cjs b/test262/fails.cjs new file mode 100644 index 00000000..0fe5d6e6 --- /dev/null +++ b/test262/fails.cjs @@ -0,0 +1,34 @@ +const fs = require('fs'); +const all = []; +const tree = x => { + for (const y of fs.readdirSync(x)) { + if (y.endsWith('.js')) { + all.push((x + '/' + y).slice(21)); + } else { + try { + tree(x + '/' + y); + } catch {} + } + } +}; +tree('test262/test262/test'); + +const { passes } = require('./results.json'); +const fails = all.filter(x => !passes.includes(x)); +{ + const dirs = Object.groupBy(fails, x => x.split('/').slice(0, 2).join('/')); + const top = Object.keys(dirs).sort((a, b) => dirs[b].length - dirs[a].length); + console.log(top.slice(0, 40).map(x => `${x}: ${dirs[x].length} (${((dirs[x].length / all.length) * 100).toFixed(2)}%)`).join('\n')); +} +console.log() +{ + const dirs = Object.groupBy(fails, x => x.split('/').slice(0, 3).join('/')); + const top = Object.keys(dirs).sort((a, b) => dirs[b].length - dirs[a].length); + console.log(top.slice(0, 40).map(x => `${x}: ${dirs[x].length} (${((dirs[x].length / all.length) * 100).toFixed(2)}%)`).join('\n')); +} +console.log() +{ + const dirs = Object.groupBy(fails, x => x.split('/').slice(0, 4).join('/')); + const top = Object.keys(dirs).sort((a, b) => dirs[b].length - dirs[a].length); + console.log(top.slice(0, 40).map(x => `${x}: ${dirs[x].length} (${((dirs[x].length / all.length) * 100).toFixed(2)}%)`).join('\n')); +} \ No newline at end of file