mirror of
https://github.com/bellard/quickjs.git
synced 2025-09-27 05:38:45 +03:00
Compare commits
1 Commits
19d8e521ce
...
8b43bae10b
Author | SHA1 | Date | |
---|---|---|---|
|
8b43bae10b |
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -71,7 +71,6 @@ jobs:
|
|||||||
submodules: true
|
submodules: true
|
||||||
- name: Install gcc-multilib
|
- name: Install gcc-multilib
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y gcc-multilib
|
sudo apt install -y gcc-multilib
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
@ -181,6 +180,9 @@ jobs:
|
|||||||
- name: Build + test
|
- name: Build + test
|
||||||
uses: vmactions/freebsd-vm@v1
|
uses: vmactions/freebsd-vm@v1
|
||||||
with:
|
with:
|
||||||
|
# This VM has a tendency to get stuck in the "VM is booting" cycle
|
||||||
|
# for quite a while, so set a shorter timeout
|
||||||
|
timeout-minutes: 15
|
||||||
usesh: true
|
usesh: true
|
||||||
copyback: false
|
copyback: false
|
||||||
mem: 16384
|
mem: 16384
|
||||||
|
2
TODO
2
TODO
@ -62,5 +62,5 @@ Optimization ideas:
|
|||||||
Test262o: 0/11262 errors, 463 excluded
|
Test262o: 0/11262 errors, 463 excluded
|
||||||
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
|
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
|
||||||
|
|
||||||
Result: 48/81760 errors, 1631 excluded, 5564 skipped
|
Result: 54/79414 errors, 1637 excluded, 6821 skipped
|
||||||
Test262 commit: e7e136756cd67c1ffcf7c09d03aeb8ad5a6cec0c
|
Test262 commit: e7e136756cd67c1ffcf7c09d03aeb8ad5a6cec0c
|
||||||
|
@ -78,8 +78,6 @@ DEF(await, "await")
|
|||||||
/* empty string */
|
/* empty string */
|
||||||
DEF(empty_string, "")
|
DEF(empty_string, "")
|
||||||
/* identifiers */
|
/* identifiers */
|
||||||
DEF(keys, "keys")
|
|
||||||
DEF(size, "size")
|
|
||||||
DEF(length, "length")
|
DEF(length, "length")
|
||||||
DEF(fileName, "fileName")
|
DEF(fileName, "fileName")
|
||||||
DEF(lineNumber, "lineNumber")
|
DEF(lineNumber, "lineNumber")
|
||||||
@ -191,7 +189,6 @@ DEF(timed_out, "timed-out")
|
|||||||
DEF(ok, "ok")
|
DEF(ok, "ok")
|
||||||
/* */
|
/* */
|
||||||
DEF(toJSON, "toJSON")
|
DEF(toJSON, "toJSON")
|
||||||
DEF(maxByteLength, "maxByteLength")
|
|
||||||
/* class names */
|
/* class names */
|
||||||
DEF(Object, "Object")
|
DEF(Object, "Object")
|
||||||
DEF(Array, "Array")
|
DEF(Array, "Array")
|
||||||
@ -231,9 +228,6 @@ DEF(Map, "Map")
|
|||||||
DEF(Set, "Set") /* Map + 1 */
|
DEF(Set, "Set") /* Map + 1 */
|
||||||
DEF(WeakMap, "WeakMap") /* Map + 2 */
|
DEF(WeakMap, "WeakMap") /* Map + 2 */
|
||||||
DEF(WeakSet, "WeakSet") /* Map + 3 */
|
DEF(WeakSet, "WeakSet") /* Map + 3 */
|
||||||
DEF(Iterator, "Iterator")
|
|
||||||
DEF(IteratorHelper, "Iterator Helper")
|
|
||||||
DEF(IteratorWrap, "Iterator Wrap")
|
|
||||||
DEF(Map_Iterator, "Map Iterator")
|
DEF(Map_Iterator, "Map Iterator")
|
||||||
DEF(Set_Iterator, "Set Iterator")
|
DEF(Set_Iterator, "Set Iterator")
|
||||||
DEF(Array_Iterator, "Array Iterator")
|
DEF(Array_Iterator, "Array Iterator")
|
||||||
|
@ -174,7 +174,7 @@ cp Makefile VERSION TODO Changelog readme.txt LICENSE \
|
|||||||
|
|
||||||
cp tests/*.js tests/*.patch tests/bjson.c $outdir/tests
|
cp tests/*.js tests/*.patch tests/bjson.c $outdir/tests
|
||||||
|
|
||||||
cp examples/*.js examples/*.c examples/*.json $outdir/examples
|
cp examples/*.js examples/*.c $outdir/examples
|
||||||
|
|
||||||
cp doc/quickjs.texi doc/quickjs.pdf doc/quickjs.html \
|
cp doc/quickjs.texi doc/quickjs.pdf doc/quickjs.html \
|
||||||
$outdir/doc
|
$outdir/doc
|
||||||
|
20
test262.conf
20
test262.conf
@ -64,12 +64,12 @@ Array.prototype.flatMap
|
|||||||
Array.prototype.includes
|
Array.prototype.includes
|
||||||
Array.prototype.values
|
Array.prototype.values
|
||||||
ArrayBuffer
|
ArrayBuffer
|
||||||
arraybuffer-transfer
|
arraybuffer-transfer=skip
|
||||||
arrow-function
|
arrow-function
|
||||||
async-functions
|
async-functions
|
||||||
async-iteration
|
async-iteration
|
||||||
Atomics
|
Atomics
|
||||||
Atomics.pause
|
Atomics.pause=skip
|
||||||
Atomics.waitAsync=skip
|
Atomics.waitAsync=skip
|
||||||
BigInt
|
BigInt
|
||||||
caller
|
caller
|
||||||
@ -141,7 +141,7 @@ Intl.NumberFormat-v3=skip
|
|||||||
Intl.RelativeTimeFormat=skip
|
Intl.RelativeTimeFormat=skip
|
||||||
Intl.Segmenter=skip
|
Intl.Segmenter=skip
|
||||||
IsHTMLDDA
|
IsHTMLDDA
|
||||||
iterator-helpers
|
iterator-helpers=skip
|
||||||
iterator-sequencing=skip
|
iterator-sequencing=skip
|
||||||
json-modules
|
json-modules
|
||||||
json-parse-with-source=skip
|
json-parse-with-source=skip
|
||||||
@ -181,10 +181,10 @@ regexp-named-groups
|
|||||||
regexp-unicode-property-escapes
|
regexp-unicode-property-escapes
|
||||||
regexp-v-flag
|
regexp-v-flag
|
||||||
RegExp.escape
|
RegExp.escape
|
||||||
resizable-arraybuffer
|
resizable-arraybuffer=skip
|
||||||
rest-parameters
|
rest-parameters
|
||||||
Set
|
Set
|
||||||
set-methods
|
set-methods=skip
|
||||||
ShadowRealm=skip
|
ShadowRealm=skip
|
||||||
SharedArrayBuffer
|
SharedArrayBuffer
|
||||||
source-phase-imports-module-source=skip
|
source-phase-imports-module-source=skip
|
||||||
@ -305,10 +305,14 @@ test262/test/built-ins/String/prototype/split/cstm-split-on-string-primitive.js
|
|||||||
# spec updates it in this case)
|
# spec updates it in this case)
|
||||||
test262/test/staging/sm/Array/frozen-dense-array.js
|
test262/test/staging/sm/Array/frozen-dense-array.js
|
||||||
|
|
||||||
# does not match spec
|
|
||||||
test262/test/staging/sm/Iterator/from/wrap-next-not-object-throws.js
|
|
||||||
|
|
||||||
# not supported
|
# not supported
|
||||||
|
test262/test/staging/sm/Set/difference.js
|
||||||
|
test262/test/staging/sm/Set/intersection.js
|
||||||
|
test262/test/staging/sm/Set/is-disjoint-from.js
|
||||||
|
test262/test/staging/sm/Set/is-subset-of.js
|
||||||
|
test262/test/staging/sm/Set/is-superset-of.js
|
||||||
|
test262/test/staging/sm/Set/symmetric-difference.js
|
||||||
|
test262/test/staging/sm/Set/union.js
|
||||||
test262/test/staging/sm/extensions/censor-strict-caller.js
|
test262/test/staging/sm/extensions/censor-strict-caller.js
|
||||||
test262/test/staging/sm/JSON/parse-with-source.js
|
test262/test/staging/sm/JSON/parse-with-source.js
|
||||||
|
|
||||||
|
@ -5,6 +5,8 @@ test262/test/annexB/language/expressions/assignmenttargettype/callexpression-in-
|
|||||||
test262/test/annexB/language/expressions/assignmenttargettype/callexpression-in-prefix-update.js:27: SyntaxError: invalid increment/decrement operand
|
test262/test/annexB/language/expressions/assignmenttargettype/callexpression-in-prefix-update.js:27: SyntaxError: invalid increment/decrement operand
|
||||||
test262/test/annexB/language/expressions/assignmenttargettype/callexpression.js:33: SyntaxError: invalid assignment left-hand side
|
test262/test/annexB/language/expressions/assignmenttargettype/callexpression.js:33: SyntaxError: invalid assignment left-hand side
|
||||||
test262/test/annexB/language/expressions/assignmenttargettype/cover-callexpression-and-asyncarrowhead.js:20: SyntaxError: invalid assignment left-hand side
|
test262/test/annexB/language/expressions/assignmenttargettype/cover-callexpression-and-asyncarrowhead.js:20: SyntaxError: invalid assignment left-hand side
|
||||||
|
test262/test/built-ins/Atomics/notify/retrieve-length-before-index-coercion-non-shared-detached.js:34: TypeError: ArrayBuffer is detached
|
||||||
|
test262/test/built-ins/Atomics/notify/retrieve-length-before-index-coercion-non-shared-detached.js:34: strict mode: TypeError: ArrayBuffer is detached
|
||||||
test262/test/staging/sm/Date/UTC-convert-all-arguments.js:75: Test262Error: index 1: expected 42, got Error: didn't throw Expected SameValue(«Error: didn't throw», «42») to be true
|
test262/test/staging/sm/Date/UTC-convert-all-arguments.js:75: Test262Error: index 1: expected 42, got Error: didn't throw Expected SameValue(«Error: didn't throw», «42») to be true
|
||||||
test262/test/staging/sm/Date/constructor-convert-all-arguments.js:75: Test262Error: index undefined: expected 42, got Error: didn't throw Expected SameValue(«Error: didn't throw», «42») to be true
|
test262/test/staging/sm/Date/constructor-convert-all-arguments.js:75: Test262Error: index undefined: expected 42, got Error: didn't throw Expected SameValue(«Error: didn't throw», «42») to be true
|
||||||
test262/test/staging/sm/Date/non-iso.js:76: Test262Error: Expected SameValue(«NaN», «-40071559730000») to be true
|
test262/test/staging/sm/Date/non-iso.js:76: Test262Error: Expected SameValue(«NaN», «-40071559730000») to be true
|
||||||
@ -24,15 +26,19 @@ test262/test/staging/sm/RegExp/regress-613820-3.js:12: Test262Error: Actual [aab
|
|||||||
test262/test/staging/sm/RegExp/regress-613820-3.js:12: strict mode: Test262Error: Actual [aab, a, undefined, ab] and expected [aa, undefined, a, undefined] should have the same contents.
|
test262/test/staging/sm/RegExp/regress-613820-3.js:12: strict mode: Test262Error: Actual [aab, a, undefined, ab] and expected [aa, undefined, a, undefined] should have the same contents.
|
||||||
test262/test/staging/sm/TypedArray/constructor-buffer-sequence.js:73: Error: Assertion failed: expected exception ExpectedError, got Error: Poisoned Value
|
test262/test/staging/sm/TypedArray/constructor-buffer-sequence.js:73: Error: Assertion failed: expected exception ExpectedError, got Error: Poisoned Value
|
||||||
test262/test/staging/sm/TypedArray/prototype-constructor-identity.js:17: Test262Error: Expected SameValue(«2», «6») to be true
|
test262/test/staging/sm/TypedArray/prototype-constructor-identity.js:17: Test262Error: Expected SameValue(«2», «6») to be true
|
||||||
|
test262/test/staging/sm/TypedArray/set-detached-bigint.js:27: Error: Assertion failed: expected exception SyntaxError, got RangeError: invalid array length
|
||||||
|
test262/test/staging/sm/TypedArray/set-detached.js:112: RangeError: invalid array length
|
||||||
test262/test/staging/sm/TypedArray/sort_modifications.js:12: Test262Error: Int8Array at index 0 for size 4 Expected SameValue(«0», «1») to be true
|
test262/test/staging/sm/TypedArray/sort_modifications.js:12: Test262Error: Int8Array at index 0 for size 4 Expected SameValue(«0», «1») to be true
|
||||||
test262/test/staging/sm/async-functions/async-contains-unicode-escape.js:45: Error: Assertion failed: expected exception SyntaxError, no exception thrown
|
test262/test/staging/sm/async-functions/async-contains-unicode-escape.js:45: Error: Assertion failed: expected exception SyntaxError, no exception thrown
|
||||||
test262/test/staging/sm/async-functions/await-error.js:12: Test262Error: Expected SameValue(«false», «true») to be true
|
test262/test/staging/sm/async-functions/await-error.js:12: Test262Error: Expected SameValue(«false», «true») to be true
|
||||||
test262/test/staging/sm/async-functions/await-in-arrow-parameters.js:33: Error: Assertion failed: expected exception SyntaxError, no exception thrown - AsyncFunction:(a = (b = await/r/g) => {}) => {}
|
test262/test/staging/sm/async-functions/await-in-arrow-parameters.js:33: Error: Assertion failed: expected exception SyntaxError, no exception thrown - AsyncFunction:(a = (b = await/r/g) => {}) => {}
|
||||||
test262/test/staging/sm/class/boundFunctionSubclassing.js:12: Test262Error: Expected SameValue(«false», «true») to be true
|
test262/test/staging/sm/class/boundFunctionSubclassing.js:12: Test262Error: Expected SameValue(«false», «true») to be true
|
||||||
|
test262/test/staging/sm/class/compPropNames.js:26: Error: Expected syntax error: ({[1, 2]: 3})
|
||||||
test262/test/staging/sm/class/strictExecution.js:32: Error: Assertion failed: expected exception TypeError, no exception thrown
|
test262/test/staging/sm/class/strictExecution.js:32: Error: Assertion failed: expected exception TypeError, no exception thrown
|
||||||
test262/test/staging/sm/class/superPropOrdering.js:83: Error: Assertion failed: expected exception TypeError, no exception thrown
|
test262/test/staging/sm/class/superPropOrdering.js:83: Error: Assertion failed: expected exception TypeError, no exception thrown
|
||||||
test262/test/staging/sm/expressions/short-circuit-compound-assignment-const.js:97: TypeError: 'a' is read-only
|
test262/test/staging/sm/expressions/short-circuit-compound-assignment-const.js:97: TypeError: 'a' is read-only
|
||||||
test262/test/staging/sm/expressions/short-circuit-compound-assignment-tdz.js:23: Error: Assertion failed: expected exception ReferenceError, got TypeError: 'a' is read-only
|
test262/test/staging/sm/expressions/short-circuit-compound-assignment-tdz.js:23: Error: Assertion failed: expected exception ReferenceError, got TypeError: 'a' is read-only
|
||||||
|
test262/test/staging/sm/extensions/TypedArray-set-object-funky-length-detaches.js:55: RangeError: invalid array length
|
||||||
test262/test/staging/sm/generators/syntax.js:30: Error: Assertion failed: expected SyntaxError, but no exception thrown - function* g() { (function* yield() {}); }
|
test262/test/staging/sm/generators/syntax.js:30: Error: Assertion failed: expected SyntaxError, but no exception thrown - function* g() { (function* yield() {}); }
|
||||||
test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-arguments.js:14: Test262Error: Expected SameValue(«"object"», «"function"») to be true
|
test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-arguments.js:14: Test262Error: Expected SameValue(«"object"», «"function"») to be true
|
||||||
test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-eval.js:12: Test262Error: Expected SameValue(«"outer-gouter-geval-gtruefalseq"», «"outer-geval-gwith-gtruefalseq"») to be true
|
test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-eval.js:12: Test262Error: Expected SameValue(«"outer-gouter-geval-gtruefalseq"», «"outer-geval-gwith-gtruefalseq"») to be true
|
||||||
|
@ -115,41 +115,6 @@ function bjson_test(a)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function bjson_test_arraybuffer()
|
|
||||||
{
|
|
||||||
var buf, array_buffer;
|
|
||||||
|
|
||||||
array_buffer = new ArrayBuffer(4);
|
|
||||||
assert(array_buffer.byteLength, 4);
|
|
||||||
assert(array_buffer.maxByteLength, 4);
|
|
||||||
assert(array_buffer.resizable, false);
|
|
||||||
buf = bjson.write(array_buffer);
|
|
||||||
array_buffer = bjson.read(buf, 0, buf.byteLength);
|
|
||||||
assert(array_buffer.byteLength, 4);
|
|
||||||
assert(array_buffer.maxByteLength, 4);
|
|
||||||
assert(array_buffer.resizable, false);
|
|
||||||
|
|
||||||
array_buffer = new ArrayBuffer(4, {maxByteLength: 4});
|
|
||||||
assert(array_buffer.byteLength, 4);
|
|
||||||
assert(array_buffer.maxByteLength, 4);
|
|
||||||
assert(array_buffer.resizable, true);
|
|
||||||
buf = bjson.write(array_buffer);
|
|
||||||
array_buffer = bjson.read(buf, 0, buf.byteLength);
|
|
||||||
assert(array_buffer.byteLength, 4);
|
|
||||||
assert(array_buffer.maxByteLength, 4);
|
|
||||||
assert(array_buffer.resizable, true);
|
|
||||||
|
|
||||||
array_buffer = new ArrayBuffer(4, {maxByteLength: 8});
|
|
||||||
assert(array_buffer.byteLength, 4);
|
|
||||||
assert(array_buffer.maxByteLength, 8);
|
|
||||||
assert(array_buffer.resizable, true);
|
|
||||||
buf = bjson.write(array_buffer);
|
|
||||||
array_buffer = bjson.read(buf, 0, buf.byteLength);
|
|
||||||
assert(array_buffer.byteLength, 4);
|
|
||||||
assert(array_buffer.maxByteLength, 8);
|
|
||||||
assert(array_buffer.resizable, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* test multiple references to an object including circular
|
/* test multiple references to an object including circular
|
||||||
references */
|
references */
|
||||||
function bjson_test_reference()
|
function bjson_test_reference()
|
||||||
@ -206,7 +171,6 @@ function bjson_test_all()
|
|||||||
assert(e instanceof TypeError);
|
assert(e instanceof TypeError);
|
||||||
}
|
}
|
||||||
|
|
||||||
bjson_test_arraybuffer();
|
|
||||||
bjson_test_reference();
|
bjson_test_reference();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user