mirror of
https://github.com/bellard/quickjs.git
synced 2025-09-27 05:38:45 +03:00
Compare commits
8 Commits
d16c9200e3
...
8372671c9b
Author | SHA1 | Date | |
---|---|---|---|
|
8372671c9b | ||
|
8807fedec5 | ||
|
f021d7714f | ||
|
44d03a823d | ||
|
1e19893c82 | ||
|
f00c7171e6 | ||
|
d05865a12b | ||
|
7709f98eb6 |
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: 54/80760 errors, 1631 excluded, 6064 skipped
|
Result: 48/81760 errors, 1631 excluded, 5564 skipped
|
||||||
Test262 commit: e7e136756cd67c1ffcf7c09d03aeb8ad5a6cec0c
|
Test262 commit: e7e136756cd67c1ffcf7c09d03aeb8ad5a6cec0c
|
||||||
|
10
qjsc.c
10
qjsc.c
@ -426,10 +426,13 @@ void help(void)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_CC) && !defined(_WIN32)
|
#if defined(CONFIG_CC)
|
||||||
|
|
||||||
int exec_cmd(char **argv)
|
int exec_cmd(char **argv)
|
||||||
{
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
return _spawnvp(_P_WAIT, argv[0], (const char * const *)argv);
|
||||||
|
#else
|
||||||
int pid, status, ret;
|
int pid, status, ret;
|
||||||
|
|
||||||
pid = fork();
|
pid = fork();
|
||||||
@ -444,6 +447,7 @@ int exec_cmd(char **argv)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return WEXITSTATUS(status);
|
return WEXITSTATUS(status);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int output_executable(const char *out_filename, const char *cfilename,
|
static int output_executable(const char *out_filename, const char *cfilename,
|
||||||
@ -731,7 +735,11 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
if (!out_filename) {
|
if (!out_filename) {
|
||||||
if (output_type == OUTPUT_EXECUTABLE) {
|
if (output_type == OUTPUT_EXECUTABLE) {
|
||||||
|
#ifdef _WIN32
|
||||||
|
out_filename = "a.exe";
|
||||||
|
#else
|
||||||
out_filename = "a.out";
|
out_filename = "a.out";
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
out_filename = "out.c";
|
out_filename = "out.c";
|
||||||
}
|
}
|
||||||
|
@ -191,6 +191,7 @@ 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")
|
||||||
|
@ -64,12 +64,12 @@ Array.prototype.flatMap
|
|||||||
Array.prototype.includes
|
Array.prototype.includes
|
||||||
Array.prototype.values
|
Array.prototype.values
|
||||||
ArrayBuffer
|
ArrayBuffer
|
||||||
arraybuffer-transfer=skip
|
arraybuffer-transfer
|
||||||
arrow-function
|
arrow-function
|
||||||
async-functions
|
async-functions
|
||||||
async-iteration
|
async-iteration
|
||||||
Atomics
|
Atomics
|
||||||
Atomics.pause=skip
|
Atomics.pause
|
||||||
Atomics.waitAsync=skip
|
Atomics.waitAsync=skip
|
||||||
BigInt
|
BigInt
|
||||||
caller
|
caller
|
||||||
@ -180,7 +180,7 @@ regexp-named-groups
|
|||||||
regexp-unicode-property-escapes
|
regexp-unicode-property-escapes
|
||||||
regexp-v-flag
|
regexp-v-flag
|
||||||
RegExp.escape
|
RegExp.escape
|
||||||
resizable-arraybuffer=skip
|
resizable-arraybuffer
|
||||||
rest-parameters
|
rest-parameters
|
||||||
Set
|
Set
|
||||||
set-methods
|
set-methods
|
||||||
|
@ -5,8 +5,6 @@ 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
|
||||||
@ -26,19 +24,15 @@ 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,6 +115,41 @@ 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()
|
||||||
@ -171,6 +206,7 @@ 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