Add support test262 $262 global object support (#4329)

Few test-cases in test262 uses a $262 object to run a few method (for example detachedArrayBuffer)

JerryScript-DCO-1.0-Signed-off-by: bence gabor kis kisbg@inf.u-szeged.hu
This commit is contained in:
kisbg 2020-12-07 17:06:15 +01:00 committed by GitHub
parent 1cb18f0ca6
commit 7cb9f808f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 140 additions and 194 deletions

View File

@ -32,6 +32,7 @@ typedef enum
OPT_HELP,
OPT_VERSION,
OPT_MEM_STATS,
OPT_TEST262_OBJECT,
OPT_PARSE_ONLY,
OPT_SHOW_OP,
OPT_SHOW_RE_OP,
@ -60,6 +61,8 @@ static const cli_opt_t main_opts[] =
.help = "print tool and library version and exit"),
CLI_OPT_DEF (.id = OPT_MEM_STATS, .longopt = "mem-stats",
.help = "dump memory statistics"),
CLI_OPT_DEF (.id = OPT_TEST262_OBJECT, .longopt = "test262-object",
.help = "create test262 object"),
CLI_OPT_DEF (.id = OPT_PARSE_ONLY, .longopt = "parse-only",
.help = "don't execute JS input"),
CLI_OPT_DEF (.id = OPT_SHOW_OP, .longopt = "show-opcodes",
@ -180,6 +183,11 @@ main_parse_args (int argc, /**< argc */
}
break;
}
case OPT_TEST262_OBJECT:
{
arguments_p->option_flags |= OPT_FLAG_TEST262_OBJECT;
break;
}
case OPT_PARSE_ONLY:
{
arguments_p->option_flags |= OPT_FLAG_PARSE_ONLY;

View File

@ -23,12 +23,13 @@
*/
typedef enum
{
OPT_FLAG_EMPTY = 0,
OPT_FLAG_PARSE_ONLY = (1 << 0),
OPT_FLAG_DEBUG_SERVER = (1 << 1),
OPT_FLAG_WAIT_SOURCE = (1 << 2),
OPT_FLAG_NO_PROMPT = (1 << 3),
OPT_FLAG_USE_STDIN = (1 << 4),
OPT_FLAG_EMPTY = 0,
OPT_FLAG_PARSE_ONLY = (1 << 0),
OPT_FLAG_DEBUG_SERVER = (1 << 1),
OPT_FLAG_WAIT_SOURCE = (1 << 2),
OPT_FLAG_NO_PROMPT = (1 << 3),
OPT_FLAG_USE_STDIN = (1 << 4),
OPT_FLAG_TEST262_OBJECT = (1u << 5),
} main_option_flags_t;
/**

View File

@ -44,6 +44,126 @@ main_register_global_function (const char *name_p, /**< name of the function */
jerry_release_value (result_val);
} /* main_register_global_function */
/**
* Register a method for the $262 object.
*/
static void
test262_register_function (jerry_value_t test262_obj, /** $262 object */
const char *name_p, /**< name of the function */
jerry_external_handler_t handler_p) /**< function callback */
{
jerry_value_t function_name_val = jerry_create_string ((const jerry_char_t *) name_p);
jerry_value_t function_val = jerry_create_external_function (handler_p);
jerry_value_t result_val = jerry_set_property (test262_obj, function_name_val, function_val);
jerry_release_value (function_val);
jerry_release_value (function_name_val);
assert (!jerry_value_is_error (result_val));
jerry_release_value (result_val);
} /* test262_register_function */
/**
* $262.detachArrayBuffer
*
* A function which implements the DetachArrayBuffer abstract operation
*
* @return null value - if success
* value marked with error flag - otherwise
*/
static jerry_value_t
test262_detach_array_buffer (const jerry_value_t func_obj_val, /**< function object */
const jerry_value_t this_p, /**< this arg */
const jerry_value_t args_p[], /**< function arguments */
const jerry_length_t args_cnt) /**< number of function arguments */
{
(void) func_obj_val; /* unused */
(void) this_p; /* unused */
if (args_cnt < 1 || !jerry_value_is_arraybuffer (args_p[0]))
{
return jerry_create_error (JERRY_ERROR_TYPE, (jerry_char_t *) "Expected an ArrayBuffer object");
}
/* TODO: support the optional 'key' argument */
return jerry_detach_arraybuffer (args_p[0]);
} /* test262_detach_array_buffer */
/**
* $262.evalScript
*
* A function which accepts a string value as its first argument and executes it
*
* @return completion of the script parsing and execution.
*/
static jerry_value_t
test262_eval_script (const jerry_value_t func_obj_val, /**< function object */
const jerry_value_t this_p, /**< this arg */
const jerry_value_t args_p[], /**< function arguments */
const jerry_length_t args_cnt) /**< number of function arguments */
{
(void) func_obj_val; /* unused */
(void) this_p; /* unused */
if (args_cnt < 1 || !jerry_value_is_string (args_p[0]))
{
return jerry_create_error (JERRY_ERROR_TYPE, (jerry_char_t *) "Expected a string");
}
jerry_size_t str_size = jerry_get_utf8_string_size (args_p[0]);
jerry_char_t *str_buf_p = malloc (str_size * sizeof (jerry_char_t));
if (str_buf_p == NULL || jerry_string_to_utf8_char_buffer (args_p[0], str_buf_p, str_size) != str_size)
{
free (str_buf_p);
return jerry_create_error (JERRY_ERROR_RANGE, (jerry_char_t *) "Internal error");
}
jerry_value_t ret_value = jerry_parse (NULL, 0, str_buf_p, str_size, JERRY_PARSE_NO_OPTS);
if (!jerry_value_is_error (ret_value))
{
jerry_value_t func_val = ret_value;
ret_value = jerry_run (func_val);
jerry_release_value (func_val);
}
free (str_buf_p);
return ret_value;
} /* test262_eval_script */
/**
* Init the $262 object
*/
static void
register_test262 (void)
{
jerry_value_t global_obj = jerry_get_global_object ();
jerry_value_t test262_object = jerry_create_object ();
test262_register_function (test262_object, "detachArrayBuffer", test262_detach_array_buffer);
test262_register_function (test262_object, "evalScript", test262_eval_script);
test262_register_function (test262_object, "gc", jerryx_handler_gc);
jerry_value_t prop_name = jerry_create_string ((const jerry_char_t *) "global");
jerry_value_t result = jerry_set_property (test262_object, prop_name, global_obj);
assert (!jerry_value_is_error (result));
jerry_release_value (prop_name);
jerry_release_value (result);
prop_name = jerry_create_string ((const jerry_char_t *) "$262");
result = jerry_set_property (global_obj, prop_name, test262_object);
jerry_release_value (prop_name);
assert (!jerry_value_is_error (result));
jerry_release_value (global_obj);
jerry_release_value (test262_object);
jerry_release_value (result);
} /* register_test262 */
/**
* Inits the engine and the debugger
*/
@ -76,7 +196,10 @@ main_init_engine (main_args_t *arguments_p) /** main arguments */
jerryx_debugger_after_connect (protocol && jerryx_debugger_ws_create ());
}
}
if (arguments_p->option_flags & OPT_FLAG_TEST262_OBJECT)
{
register_test262 ();
}
main_register_global_function ("assert", jerryx_handler_assert);
main_register_global_function ("gc", jerryx_handler_gc);
main_register_global_function ("print", jerryx_handler_print);

View File

@ -7905,7 +7905,6 @@
features: [async-iteration]
https://github.com/tc39/proposal-async-iteration
-->
<test id="annexB/language/statements/for-await-of/iterator-close-return-emulates-undefined-throws-when-called.js"><reason></reason></test>
<test id="built-ins/AsyncFromSyncIteratorPrototype/next/absent-value-not-passed.js"><reason></reason></test>
<test id="built-ins/AsyncFromSyncIteratorPrototype/next/iterator-result-poisoned-done.js"><reason></reason></test>
<test id="built-ins/AsyncFromSyncIteratorPrototype/next/iterator-result-poisoned-value.js"><reason></reason></test>
@ -9528,26 +9527,9 @@
<test id="annexB/language/expressions/assignment/dstr/object-pattern-emulates-undefined.js"><reason></reason></test>
<test id="annexB/language/expressions/yield/star-iterable-return-emulates-undefined-throws-when-called.js"><reason></reason></test>
<test id="annexB/language/expressions/yield/star-iterable-throw-emulates-undefined-throws-when-called.js"><reason></reason></test>
<test id="annexB/language/global-code/block-decl-global-existing-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/block-decl-global-existing-non-enumerable-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/if-decl-else-decl-a-global-existing-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/if-decl-else-decl-a-global-existing-non-enumerable-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/if-decl-else-decl-b-global-existing-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/if-decl-else-decl-b-global-existing-non-enumerable-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/if-decl-else-stmt-global-existing-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/if-decl-else-stmt-global-existing-non-enumerable-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/if-decl-no-else-global-existing-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/if-decl-no-else-global-existing-non-enumerable-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/if-stmt-else-decl-global-existing-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/if-stmt-else-decl-global-existing-non-enumerable-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/switch-case-global-existing-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/switch-case-global-existing-non-enumerable-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/switch-dflt-global-existing-global-init.js"><reason></reason></test>
<test id="annexB/language/global-code/switch-dflt-global-existing-non-enumerable-global-init.js"><reason></reason></test>
<test id="annexB/language/statements/class/subclass/superclass-emulates-undefined.js"><reason></reason></test>
<test id="annexB/language/statements/const/dstr/array-pattern-emulates-undefined.js"><reason></reason></test>
<test id="annexB/language/statements/const/dstr/object-pattern-emulates-undefined.js"><reason></reason></test>
<test id="annexB/language/statements/for-await-of/iterator-close-return-emulates-undefined-throws-when-called.js"><reason></reason></test>
<test id="annexB/language/statements/for-of/iterator-close-return-emulates-undefined-throws-when-called.js"><reason></reason></test>
<test id="annexB/language/statements/function/default-parameters-emulates-undefined.js"><reason></reason></test>
<test id="built-ins/Array/from/proto-from-ctor-realm.js"><reason></reason></test>
@ -9683,7 +9665,6 @@
<test id="built-ins/Atomics/waitAsync/was-woken-before-timeout.js"><reason></reason></test>
<test id="built-ins/BigInt/prototype/valueOf/cross-realm.js"><reason></reason></test>
<test id="built-ins/Boolean/proto-from-ctor-realm.js"><reason></reason></test>
<test id="built-ins/DataView/custom-proto-access-detaches-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/proto-from-ctor-realm-sab.js"><reason></reason></test>
<test id="built-ins/DataView/proto-from-ctor-realm.js"><reason></reason></test>
<test id="built-ins/Date/proto-from-ctor-realm-one.js"><reason></reason></test>
@ -9845,18 +9826,13 @@
<test id="language/expressions/new/non-ctor-err-realm.js"><reason></reason></test>
<test id="language/expressions/super/realm.js"><reason></reason></test>
<test id="language/expressions/tagged-template/cache-realm.js"><reason></reason></test>
<test id="language/global-code/script-decl-func-dups.js"><reason></reason></test>
<test id="language/global-code/script-decl-func-err-non-configurable.js"><reason></reason></test>
<test id="language/global-code/script-decl-func-err-non-extensible.js"><reason></reason></test>
<test id="language/global-code/script-decl-func.js"><reason></reason></test>
<test id="language/global-code/script-decl-lex-deletion.js"><reason></reason></test>
<test id="language/global-code/script-decl-lex-lex.js"><reason></reason></test>
<test id="language/global-code/script-decl-lex-restricted-global.js"><reason></reason></test>
<test id="language/global-code/script-decl-lex-var.js"><reason></reason></test>
<test id="language/global-code/script-decl-lex.js"><reason></reason></test>
<test id="language/global-code/script-decl-var-collision.js"><reason></reason></test>
<test id="language/global-code/script-decl-var-err.js"><reason></reason></test>
<test id="language/global-code/script-decl-var.js"><reason></reason></test>
<test id="language/types/reference/get-value-prop-base-primitive-realm.js"><reason></reason></test>
<test id="language/types/reference/put-value-prop-base-primitive-realm.js"><reason></reason></test>
<!-- Missing test262 support in JerryScript REPL - missing $262 object -->
@ -9864,199 +9840,53 @@
<!-- Missing test262 support in JerryScript REPL - missing $262.detachArrayBuffer function
https://github.com/tc39/test262/blob/main/INTERPRETING.md#host-defined-functions
-->
<test id="built-ins/ArrayBuffer/prototype/byteLength/detached-buffer.js"><reason></reason></test>
<test id="built-ins/ArrayIteratorPrototype/next/detach-typedarray-in-progress.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/null-bufferdata-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/null-bufferdata-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/bigint/null-bufferdata-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/null-bufferdata-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/waitAsync/bigint/null-bufferdata-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/waitAsync/null-bufferdata-throws.js"><reason></reason></test>
<test id="built-ins/DataView/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/buffer/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/byteLength/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/byteOffset/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getBigInt64/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getBigInt64/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getBigInt64/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getBigUint64/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getBigUint64/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getBigUint64/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getFloat32/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getFloat64/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt16/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt8/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getUint16/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getUint32/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getUint8/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setBigInt64/detached-buffer-after-bigint-value.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setBigInt64/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setBigInt64/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setBigInt64/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setFloat32/detached-buffer-after-number-value.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setFloat32/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setFloat64/detached-buffer-after-number-value.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setFloat64/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt16/detached-buffer-after-number-value.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt16/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt32/detached-buffer-after-number-value.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt32/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt8/detached-buffer-after-number-value.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setInt8/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint16/detached-buffer-after-number-value.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint16/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint32/detached-buffer-after-number-value.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint32/detached-buffer.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint8/detached-buffer-after-number-value.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/setUint8/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/Symbol.toStringTag/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/Symbol.toStringTag/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/buffer/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/buffer/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/byteLength/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/byteLength/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/byteOffset/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/byteOffset/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/copyWithin/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/copyWithin/coerced-values-end-detached-prototype.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/copyWithin/coerced-values-end-detached.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/copyWithin/coerced-values-start-detached.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/copyWithin/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/entries/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/entries/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/every/BigInt/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/every/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/every/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/every/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/fill/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/fill/coerced-end-detach.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/fill/coerced-start-detach.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/fill/coerced-value-detach.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/fill/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/filter/BigInt/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/filter/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/filter/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/filter/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/find/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/find/BigInt/predicate-may-detach-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/find/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/find/predicate-may-detach-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/findIndex/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/findIndex/BigInt/predicate-may-detach-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/findIndex/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/findIndex/predicate-may-detach-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/forEach/BigInt/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/forEach/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/forEach/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/forEach/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/includes/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/includes/detached-buffer-tointeger.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/includes/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/indexOf/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/indexOf/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/join/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/join/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/keys/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/keys/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/lastIndexOf/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/lastIndexOf/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/length/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/length/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/map/BigInt/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/map/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/map/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/map/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/reduce/BigInt/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/reduce/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/reduce/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/reduce/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/reduceRight/BigInt/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/reduceRight/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/reduceRight/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/reduceRight/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/reverse/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/reverse/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/BigInt/array-arg-targetbuffer-detached-on-get-src-value-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/BigInt/array-arg-targetbuffer-detached-on-tointeger-offset-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/BigInt/array-arg-targetbuffer-detached-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/BigInt/typedarray-arg-srcbuffer-detached-during-tointeger-offset-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/BigInt/typedarray-arg-targetbuffer-detached-during-tointeger-offset-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-on-get-src-value-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-on-tointeger-offset-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/array-arg-targetbuffer-detached-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/typedarray-arg-srcbuffer-detached-during-tointeger-offset-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/typedarray-arg-targetbuffer-detached-during-tointeger-offset-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/BigInt/detached-buffer-custom-ctor-other-targettype.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/BigInt/detached-buffer-custom-ctor-same-targettype.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/BigInt/detached-buffer-get-ctor.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/BigInt/detached-buffer-speciesctor-get-species-custom-ctor-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/BigInt/detached-buffer-zero-count-custom-ctor-other-targettype.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/detached-buffer-custom-ctor-other-targettype.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/detached-buffer-custom-ctor-same-targettype.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/detached-buffer-get-ctor.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/detached-buffer-speciesctor-get-species-custom-ctor-throws.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/detached-buffer-zero-count-custom-ctor-other-targettype.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/slice/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/some/BigInt/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/some/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/some/callbackfn-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/some/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/sort/BigInt/detached-buffer-comparefn.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/sort/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/sort/detached-buffer-comparefn-coerce.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/sort/detached-buffer-comparefn.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/sort/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/sort/sort-tonumber.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/subarray/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/subarray/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/toLocaleString/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/toLocaleString/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/toString/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/toString/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/values/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/values/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/byteoffset-to-number-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/detachedbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/length-to-number-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/detached-when-species-retrieved-different-type.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/typedarray-arg/detached-when-species-retrieved-same-type.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/byteoffset-to-number-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/detachedbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/length-to-number-detachbuffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/typedarray-arg/detached-when-species-retrieved-different-type.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/typedarray-arg/detached-when-species-retrieved-same-type.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-realm.js"><reason></reason></test>
@ -10065,43 +9895,27 @@
<test id="built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-realm.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/DefineOwnProperty/tonumber-value-detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/BigInt/detached-buffer-key-is-not-numeric-index.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/BigInt/detached-buffer-key-is-symbol.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/BigInt/detached-buffer-realm.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/BigInt/infinity-detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/detached-buffer-key-is-not-numeric-index.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/detached-buffer-key-is-symbol.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/detached-buffer-realm.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/infinity-detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/GetOwnProperty/BigInt/detached-buffer-key-is-not-number.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/GetOwnProperty/BigInt/detached-buffer-key-is-symbol.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/GetOwnProperty/BigInt/detached-buffer-realm.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/GetOwnProperty/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/GetOwnProperty/BigInt/enumerate-detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/GetOwnProperty/detached-buffer-key-is-not-number.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/GetOwnProperty/detached-buffer-key-is-symbol.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/GetOwnProperty/detached-buffer-realm.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/GetOwnProperty/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/GetOwnProperty/enumerate-detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/HasProperty/BigInt/detached-buffer-key-is-not-number.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/HasProperty/BigInt/detached-buffer-key-is-symbol.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/HasProperty/BigInt/detached-buffer-realm.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/HasProperty/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/HasProperty/BigInt/infinity-with-detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/HasProperty/detached-buffer-key-is-not-number.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/HasProperty/detached-buffer-key-is-symbol.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/HasProperty/detached-buffer-realm.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/HasProperty/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/HasProperty/infinity-with-detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Set/BigInt/detached-buffer-key-is-not-numeric-index.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Set/BigInt/detached-buffer-key-is-symbol.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Set/BigInt/detached-buffer-realm.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Set/BigInt/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Set/BigInt/tonumber-value-detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Set/detached-buffer-key-is-not-numeric-index.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Set/detached-buffer-key-is-symbol.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Set/detached-buffer-realm.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Set/detached-buffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Set/tonumber-value-detached-buffer.js"><reason></reason></test>

View File

@ -435,7 +435,7 @@ def run_test262_test_suite(options):
test_cmd = get_platform_cmd_prefix() + [
settings.TEST262_RUNNER_SCRIPT,
'--engine', get_binary_path(build_dir_path),
'--engine', get_binary_path(build_dir_path) + " --test262-object",
'--test-dir', settings.TEST262_TEST_SUITE_DIR
]