Commit Graph

2464 Commits

Author SHA1 Message Date
Leo Balter 45a31876e7 Fix tests for computed names in class fields - ctor and prototype 2018-08-21 15:50:39 -04:00
Leo Balter 3690d98e27 Generate tests 2018-08-21 12:47:19 -04:00
Leo Balter dacc69a066
Generate tests 2018-08-21 12:17:05 -04:00
Leo Balter 9a7fa8cb91 Generate tests 2018-08-20 17:12:40 -04:00
Leo Balter de1bbd65c8 Generate tests 2018-08-20 16:38:54 -04:00
Leo Balter 96809308fd Generate tests 2018-08-20 16:38:54 -04:00
Leo Balter c5a1a4a24b Generate tests 2018-08-20 16:38:54 -04:00
Rick Waldron 331a3964d5 Generate tests 2018-08-20 16:38:53 -04:00
Rick Waldron aee9dc163e Generate tests 2018-08-20 16:38:53 -04:00
Rick Waldron f222b94f2a Generate tests 2018-08-20 16:38:53 -04:00
Rick Waldron ad9fd16bd1 Class Fields: convert .js file to .case 2018-08-20 16:38:52 -04:00
Rick Waldron 1466650ca3 Class Fields: add private name propname errors 2018-08-20 16:38:52 -04:00
Rick Waldron 734544272b Class Fields: convert propname-error into non-generated to avoid creating erroneous tests where restrictions do not align. 2018-08-20 16:38:52 -04:00
Rick Waldron 3996741ca0 Class Fields: Remove templates that cause erroneous tests to be created. 2018-08-20 16:38:52 -04:00
Rick Waldron 90e8859cdd Class Fields: Updating frontmatter 2018-08-20 16:38:52 -04:00
Valerie R Young 5d014bdfba classfields: field definition abrupt completion tests
# Conflicts:
#	test/language/statements/class/classelementname-abrupt-completion.js
#	test/language/statements/class/fielddefinition-initializer-abrupt-completion.js
#	test/language/statements/class/super-fielddefinition-initializer-abrupt-completion.js
2018-08-20 16:38:52 -04:00
Leo Balter 1307fa8f44 some quick fixes for Array.prototype.{flat,flatMap} tests 2018-08-20 11:16:54 -04:00
Leo Balter d263e2ccc9
Merge pull request #1686 from rhuanjl/proxyFlat
Array.prototype.{flat,flatMap} property access count
2018-08-20 10:44:16 -04:00
rhuanjl 1bffb14efb Array.prototype.flat and Array.prototype.flatMap property access count 2018-08-20 06:31:04 +01:00
André Bargull d7d154b3bc Remove requirement that ToNumber(value) completes in less than $262.agent.MAX_TIME_EPSILON
$262.agent.MAX_TIME_EPSILON was intended to be used for callers like `Atomics.wait(typedArray, indexNumber, valueNumber, timeoutNumber)` where all parameters with the `Number` suffix denote values which are already Number values. It should not be used for `Atomics.wait(typedArray, indexObject, valueObject, timeoutObject)` where all parameters with the `Object` suffix denote values which are Object values, because in that case we'd require that `ToNumber(objectValue)` (potentially invoked multiple times) completes in less than 100 milliseconds (the default value for MAX_TIME_EPSILON).

Also removes $262.agent.MAX_TIME_EPSILON because it is now no longer used.
2018-08-19 10:29:29 -04:00
Leo Balter ab436c4651
Merge pull request #1677 from tc39/ofe-use-verifyproperty
Object.fromEntries: use verifyProperty; add specification details
2018-08-17 18:06:19 -04:00
Leo Balter d901922690
Merge pull request #1682 from Ms2ger/rtf-supportedLocalesOf
Intl.RelativeTimeFormat: Add some more tests for supportedLocalesOf.
2018-08-17 18:04:34 -04:00
Leo Balter f9d549329a
Merge pull request #1681 from Ms2ger/rtf-pl-fix
Intl.RelativeTimeFormat: Fix copy/paste errors in Polish tests.
2018-08-17 18:03:01 -04:00
Leo Balter fcefbc7945
Merge pull request #1678 from Ms2ger/rtf-options-non-object
Intl.RelativeTimeFormat: Add some tests for non-object options arguments to the constructor.
2018-08-17 18:01:59 -04:00
André Bargull cd101873ba Fix expected values for 'quarter' in RelativeTimeFormat 2018-08-17 09:15:38 -07:00
André Bargull 0aa1f70c14 Fix typo: nofity -> notify 2018-08-17 07:48:44 -07:00
André Bargull 8879820a8f Make RegExp/CharacterClassEscapes tests faster across all engines 2018-08-17 07:48:42 -07:00
Ms2ger 867b1ab87d Intl.RelativeTimeFormat: Add some more tests for supportedLocalesOf. 2018-08-16 15:18:05 +02:00
Ms2ger c82ea326a8 Intl.RelativeTimeFormat: Fix copy/paste errors in Polish tests. 2018-08-16 10:04:31 +02:00
Ms2ger 3161b18f71 Intl.RelativeTimeFormat: Add some tests for non-object options arguments to the constructor. 2018-08-14 17:43:32 +02:00
Rick Waldron ff475fce11 Object.fromEntries: use verifyProperty; add specification details 2018-08-13 15:15:02 -04:00
Rick Waldron 55ffeaf5cf Object.fromEntries: fix file names 2018-08-13 12:24:57 -04:00
Kevin Gibbons 60b9467630 Two more simple tests 2018-08-13 10:25:09 -04:00
Kevin Gibbons 7f694d4718 Object.fromEntries: add basic tests 2018-08-13 10:25:09 -04:00
Rick Waldron 2c39868519 Merge remote-tracking branch 'ms2ger/rtf-supportedLocalesOf-basic'
* ms2ger/rtf-supportedLocalesOf-basic:
  Intl.RelativeTimeFormat: Add a basic test for the functionality of supportedLocalesOf().
2018-08-10 15:36:01 -04:00
Rick Waldron b893503aa8 Intl.DateTimeFormat: formatToParts nitpicking 2018-08-10 15:35:04 -04:00
Rick Waldron c0e494eb6a Merge branch 'patch-1' of git://github.com/phistuck/test262 into phistuck-patch-1
* 'patch-1' of git://github.com/phistuck/test262:
  Added a legal part types test
2018-08-10 15:29:36 -04:00
Rick Waldron 9ddd49d49b Merge branch 'remove-assert.throws.early' of git://github.com/mathiasbynens/test262 into mathiasbynens-remove-assert.throws.early
* 'remove-assert.throws.early' of git://github.com/mathiasbynens/test262:
  Remove assert.throws.early
2018-08-10 15:26:31 -04:00
Rick Waldron 3a517cb7a7 Merge remote-tracking branch 'ms2ger/rtf-unit-invalid-plausible'
* ms2ger/rtf-unit-invalid-plausible:
  Intl.RelativeTimeFormat: Test some plausible but unsupported unit arguments.
2018-08-10 15:23:25 -04:00
Rick Waldron e900c559b6 Merge remote-tracking branch 'ms2ger/rtf-tonumber'
* ms2ger/rtf-tonumber:
  Intl.RelativeTimeFormat: Add tests for ToNumber() in format/ToParts().
2018-08-10 15:23:06 -04:00
Rick Waldron ec31d06622 Merge remote-tracking branch 'ms2ger/rtf-formatToParts-type'
* ms2ger/rtf-formatToParts-type:
  Intl.RelativeTimeFormat: Add tests for the type of formatToParts results.
2018-08-10 15:22:31 -04:00
Rick Waldron 883da82d29 Merge remote-tracking branch 'ms2ger/rtf-pl'
* ms2ger/rtf-pl:
  Intl.RelativeTimeFormat: Add some tests for different styles in Polish.
2018-08-10 15:21:57 -04:00
Ms2ger d15e0f58fc Intl.RelativeTimeFormat: Test some plausible but unsupported unit arguments. 2018-08-10 17:46:39 +02:00
Ms2ger fcc9fb974b Intl.RelativeTimeFormat: Add tests for ToNumber() in format/ToParts(). 2018-08-10 17:45:44 +02:00
Ms2ger 59bc1d6a2f Intl.RelativeTimeFormat: Add a basic test for the functionality of supportedLocalesOf().
This is based on test/intl402/NumberFormat/supportedLocalesOf/basic.js.
2018-08-10 17:21:08 +02:00
Ms2ger f38722c021 Intl.RelativeTimeFormat: Add tests for the type of formatToParts results. 2018-08-10 16:14:10 +02:00
Ms2ger 1d8e1c8c4f Intl.RelativeTimeFormat: Add some tests for different styles in Polish.
This is interesting because Polish has different output for the "short" and
"narrow" styles.
2018-08-10 14:29:00 +02:00
Mathias Bynens 75e8a317a2 Remove assert.throws.early
Negative tests are the better approach for early error tests.

Closes #1622.
2018-08-07 14:35:13 +02:00
Ms2ger 48d95ac3c4 Intl.RelativeTimeFormat: Add some tests for the 'narrow' style. 2018-08-04 11:10:19 -04:00
Ms2ger 1e8d69f0fa Intl.RelativeTimeFormat: Test for grouping in long numbers.
The specification was changed to remove the useGrouping option in
<https://github.com/tc39/proposal-intl-relative-time/pull/81>.

The change to remove the minimumIntegerDigits option in that PR was already
taken into account; this commit also removes the reference to the issue.

This also removes some commented-out code that was left in by accident.
2018-08-04 11:09:20 -04:00
Ms2ger fd666c5048 Intl.RelativeTimeFormat: Add some en-US-specific tests for format/formatToParts. 2018-07-27 13:09:44 -04:00
Ms2ger 604df708b3 Intl.RelativeTimeFormat: Add some tests for format, formatToParts, and resolvedOptions. 2018-07-27 13:02:00 -04:00
Ms2ger 8e15f532e1 Intl.NumberFormat: Update another test for negative zero.
The specification was updated in https://github.com/tc39/ecma402/pull/232.
2018-07-27 13:00:04 -04:00
Jordan Harband 765de9136d
`global`: update property name 2018-07-25 17:11:53 -07:00
Rick Waldron 588459fc34 Generate tests 2018-07-25 12:19:29 -04:00
Rick Waldron 64f219b666 Features: run feature detector to verify newly added feature flags 2018-07-25 12:16:49 -04:00
Rick Waldron c6d7d66dfa Merge branch 'feature-new.target' of https://github.com/IgnoredAmbience/test262 into IgnoredAmbience-feature-new.target
* 'feature-new.target' of https://github.com/IgnoredAmbience/test262:
  Add feature flags for `new.target`
2018-07-25 11:54:58 -04:00
Thomas Wood 2d4ac25fa0 Add feature flags for `new.target`
Additionally removed the `arrow-function` feature for
test/language/eval-code/direct/new.target-fn.js as it is not testing
arrow-functions, but they are mentioned in the preamble.
2018-07-24 20:31:35 +01:00
Leo Balter 6335c39ade fixes after rebase 2018-07-24 15:03:54 -04:00
Leo Balter 1452a22a02 more s/wake/notify 2018-07-24 15:03:54 -04:00
Leo Balter d8bbc281dd First renaming for wake to notify in the wait folder 2018-07-24 15:03:54 -04:00
Leo Balter 4911c6e77a Last renamings in the Atomics/wake folder 2018-07-24 15:03:54 -04:00
Leo Balter 6533378823 Atomics.wake to Atomics.notify 2018-07-24 15:03:54 -04:00
Leo Balter 003388e36e Replace esid 2018-07-24 15:03:54 -04:00
Leo Balter cdfc67cd9d Move Atomics/wake to Atomics/notify 2018-07-24 15:03:54 -04:00
Leo Balter d1ad8e8fbc
fix features tag (#1647) 2018-07-24 01:15:26 -04:00
Rick Waldron 2d27462e70 Features: Proxy, Reflect (See pull/1643) (#1646)
Follow up to https://github.com/tc39/test262/pull/1643
2018-07-20 18:42:39 -04:00
Thomas Wood d817076ddb Make Proxy/ownKeys tests ES5-parsable. (#1644)
All other Proxy tests use the syntax `attr: function() {...}` for
defining traps, ownKeys was unique in using the shorthand syntax. Change
to longhand syntax for back-compat for partial implementations.
2018-07-20 18:40:10 -04:00
Thomas Wood 4f3cbc756d Add a missing Reflect feature flag.
Proxy/deleteProperty/boolean-trap-result-boolean-true.js was missing a
feature flag for the Reflect library.
2018-07-20 15:04:21 -04:00
Ms2ger 764eb4f8b9 Intl.RelativeTimeFormat: Add tests for invalid units in format/formatToParts. 2018-07-20 15:00:30 -04:00
Ivan Vyshnevskyi 56e0ef70a5 Fix the ranges of non-HexDigits in decodeURI and decodeURIComponent tests 2018-07-20 14:59:31 -04:00
PhistucK 2afcf1d3d9
Added a legal part types test 2018-07-20 11:12:10 +03:00
Ms2ger 94b1e80ab3 Intl.RelativeTimeFormat: Add a test for the return value of supportedLocalesOf() 2018-07-13 20:18:12 -04:00
Mike Pennisi ccaa9571ea Refactor string literal test for parsers
Thsi test for the parsing of string literals was expressed using `eval`.
This made the test more complex than necessary and also prevented the
test from providing value to ECMAScript parsers.

Remove the use of `eval` and instead express the expectation with
literal source text.
2018-07-13 16:17:19 -04:00
Mike Pennisi 4f1e628107 Remove erroneous test
This test is technically valid because it does trigger a SyntaxError in
conforming runtimes. However, it was authored and documented to test
LegacyOctalEscapeSequence, but due to an apparent typo, it actually
demonstrates an unrelated parsing error.

Because 'legacy-octal-escape-sequence-stricts.js' sufficiently tests the
restriction on LegacyOctalEscapeSequence, remove this test rather than
correct it.
2018-07-13 16:17:19 -04:00
Mike Pennisi 4e1a860abd Remove redundant test
This test for string literals asserts the restriction on
LegacyOctalEscapeSequence in strict mode. It is not sufficiently
distinct from the test 'legacy-octal-escape-sequence-stricts.js' to
warrant inclusion in the test suite. Because that test includes much
more thorough documentation, it should be preferred.
2018-07-13 16:17:19 -04:00
Mike Pennisi 2facd45c76 Remove redundant and indirect tests
A number of tests for string literals assert the restriction on
LegacyOctalEscapeSequence in strict mode code and differ only in the
escape sequence under test. Although each is valid, none of the escape
sequences are sufficiently distinct from the test
'legacy-octal-escape-sequence-stricts.js' to warrant their inclusion in
the test suite. Because that test's use of literal code makes it
consumable by parsers and because that test includes much more thorough
documentation, it should be preferred.

Summary of LegacyOctalEscapeSequences under test in the removed files:

    test/language/literals/string/7.8.4-10-s.js: eval('var x = " \\10 ";');
    test/language/literals/string/7.8.4-11-s.js: eval('var x = "\\16";');
    test/language/literals/string/7.8.4-12-s.js: eval('var x = "\\17";');
    test/language/literals/string/7.8.4-13-s.js: eval('var x = "\\30";');
    test/language/literals/string/7.8.4-14-s.js: eval('var x = "\\31";');
    test/language/literals/string/7.8.4-15-s.js: eval('var x = "\\37";');
    test/language/literals/string/7.8.4-16-s.js: eval('var x = "\\400";');
    test/language/literals/string/7.8.4-17-s.js: eval('var x = "\\411";');
    test/language/literals/string/7.8.4-18-s.js: eval('var x = "\\43a";');
    test/language/literals/string/7.8.4-19-s.js: eval('var x = "\\463";');
    test/language/literals/string/7.8.4-2-s.js:  eval('var x = "\\1";');
    test/language/literals/string/7.8.4-20-s.js: eval('var x = "\\474";');
    test/language/literals/string/7.8.4-21-s.js: eval('var x = "\\77";');
    test/language/literals/string/7.8.4-22-s.js: eval('var x = "\\777";');
    test/language/literals/string/7.8.4-23-s.js: eval('var x = "\\000";');
    test/language/literals/string/7.8.4-24-s.js: eval('var x = "\\001";');
    test/language/literals/string/7.8.4-25-s.js: eval('var x = "\\106";');
    test/language/literals/string/7.8.4-26-s.js: eval('var x = "\\207";');
    test/language/literals/string/7.8.4-27-s.js: eval('var x = "\\377";');
    test/language/literals/string/7.8.4-28-s.js: eval('var x = "\\376";');
    test/language/literals/string/7.8.4-29-s.js: eval('var x = "\\3760";');
    test/language/literals/string/7.8.4-3-s.js:  eval('var x = "a\\4";');
    test/language/literals/string/7.8.4-32-s.js: eval('var x = "\\1\\1";');
    test/language/literals/string/7.8.4-33-s.js: eval('var x = "\\1\\2\\7";');
    test/language/literals/string/7.8.4-4-s.js:  eval('var x = "z\\7";');
    test/language/literals/string/7.8.4-5-s.js:  eval('var x = "\\00a";');
    test/language/literals/string/7.8.4-6-s.js:  eval('var x = "\\01z";');
    test/language/literals/string/7.8.4-7-s.js:  eval('var x = "a\\03z";');
    test/language/literals/string/7.8.4-8-s.js:  eval('var x = " \\06";');
2018-07-13 16:17:19 -04:00
Mike Pennisi 3383ba9c1b Extend metadata with `esid` 2018-07-13 16:09:19 -04:00
Mike Pennisi 6e9cf3765b Add tests for parsing behavior
Test262 already includes tests to ensure the correct runtime semantics
for these forms. Add equivalent tests designed to verify that the
equivalent parsing behavior is also observed.
2018-07-13 16:09:19 -04:00
Mike Pennisi a9cd42018f Simplify tests for runtime semantics
Verify runtime semantics through assignment to an unresolvable
reference, reducing the complexity of tests that previously relied on
the semantics of the `eval` function.
2018-07-13 16:09:18 -04:00
Mike Pennisi 0618779cb8 Normalize coverage
Promote consistency in coverage by adding new tests that correspond to
those that were authored previously.
2018-07-13 16:09:18 -04:00
Mike Pennisi 0a5b378cff Rename tests for clarity 2018-07-13 14:08:54 -04:00
Leo Balter 0fde488bb4
Update tests for CharacterClassEscapes in RegExps (#1611) 2018-07-09 12:30:33 -04:00
Mathias Bynens c7ac073e73 Update tests for RegExp Unicode property escapes (#1633)
62cbe2f1cb
2018-07-09 12:26:53 -04:00
Rick Waldron 23925f86a0
Merge pull request #1628 from Ms2ger/NumberFormat-negzero
Update the test for negative zero in NumberFormat.
2018-07-06 14:48:10 -04:00
Rick Waldron 2e007144ba
Merge pull request #1627 from Ms2ger/RelativeTimeFormat-options-proto
Add tests for objects created in the RelativeTimeFormat constructor.
2018-07-06 14:47:40 -04:00
Rick Waldron 47f9008bd3
Merge pull request #1626 from Ms2ger/RelativeTimeFormat-options
Add some more tests for the options argument to the  RelativeTimeForm…
2018-07-06 14:46:49 -04:00
Rick Waldron 7676b1b48e
Merge pull request #1625 from Ms2ger/Segmenter-@@toStringTag
Add a test for Intl.Segmenter.prototype[@@toStringTag].
2018-07-06 14:45:29 -04:00
Rick Waldron 221f212903
Merge pull request #1624 from Ms2ger/ListFormat-@@toStringTag
Add a test for Intl.ListFormat.prototype[@@toStringTag].
2018-07-06 14:44:51 -04:00
Ms2ger 65f2d5e8c2 Update the test for negative zero in NumberFormat.
The specification was updated in https://github.com/tc39/ecma402/pull/232.
2018-07-06 17:29:17 +02:00
Ms2ger df41a35c79 Add tests for objects created in the RelativeTimeFormat constructor.
The specification was changed in https://github.com/tc39/proposal-intl-relative-time/pull/79.
2018-07-06 16:46:28 +02:00
Ms2ger f8b6b929df Add some more tests for the options argument to the RelativeTimeFormat constructor. 2018-07-06 15:00:15 +02:00
Ms2ger b46778dc0f Add a test for Object.prototype.toString with Intl.ListFormat objects. 2018-07-06 12:31:16 +02:00
Ms2ger 02f20f4e11 Add a test for Object.prototype.toString with Intl.Segmenter objects. 2018-07-06 12:29:43 +02:00
Ms2ger aa7b3a5d02 Add a test for Object.prototype.toString with Intl.RelativeTimeFormat objects. 2018-07-06 12:27:48 +02:00
Ms2ger d258fcd3ba Add a test for Intl.Segmenter.prototype[@@toStringTag].
This was added to the specification in https://github.com/tc39/proposal-intl-segmenter/pull/29.
2018-07-06 12:23:39 +02:00
Ms2ger 46a0ff6e41 Add a test for Intl.ListFormat.prototype[@@toStringTag].
The specification changed in https://github.com/tc39/proposal-intl-list-format/pull/13.
2018-07-06 12:06:38 +02:00
Ms2ger 6092c08ade Update expectation for Intl.RelativeTimeFormat.prototype[@@toStringTag].
The specification changed in https://github.com/tc39/proposal-intl-relative-time/pull/77.
2018-07-06 11:45:20 +02:00
André Bargull 8bc4e38a48 Make Atomics tests more resilient against intermittent failures (#1617)
Also fixes multiple issues and bugs in various Atomics tests.

CONTRIBUTING.md and INTERPRETING.md:
- Add missing description for `CanBlockIsFalse` flag and also introduce `CanBlockIsTrue` flag which is needed for some tests (see below).

harness/atomicsHelper.js:
- Updated `$262.agent.waitUntil` to clarify it can also be called with BigInt64Array objects.
- Added `$262.agent.timeouts` constants to unify the various, inconsistently used timeouts in the Atomics tests. Each timeout constant has a brief description and a usage example to clarify when it should or should not be used. The default values were tested in SpiderMonkey (locally and CI) under various system load levels and should hopefully also be valid for other engines. 
- Added `$262.agent.tryYield` to yield control from the main thread. The default implementation simply calls `$262.agent.sleep`, but test262 hosts could theoretically provide a different implementation.
- Added `$262.agent.trySleep` to replace direct calls to `$262.agent.sleep` from the main thread. Motivation for this function: Some test262 hosts (like browsers) may be able to pause and sleep on the main thread, so they could provide their implementation for `trySleep` which performs a busy-wait or something do nothing.

harness/testAtomics.js:
- Replace `let`, `arrow-functions`, and `for-of` loops to avoid creating extremely long `features` lists in tests using this helper. Removed `Map`, `WeakMap`, `Set`, and `WeakSet` (these weren't even listed in features.yaml) for the same reason and added the missing `Symbol` entry for this file to features.yaml.
- Updated all files including "harness/testAtomics.js" to match the new feature requirements.


test/built-ins/Atomics/store/good-views.js and test/built-ins/Atomics/store/bigint/good-views.js:
- Replace `arrow-functions` and `for-of` loops with ES5 alternatives.


test/built-ins/Atomics/wait/bigint/*.js and test/built-ins/Atomics/wake/bigint/*.js
- Some tests were using `BigInt64Array.BYTES_PER_ELEMENT * 8` for the SharedArrayBuffer length, but their non-BigInt counterparts are using `Int32Array.BYTES_PER_ELEMENT * 4`. For consistency and to make it easier to compare the BigInt against the non-BigInt versions, I've changed it to `BigInt64Array.BYTES_PER_ELEMENT * 4`.
- Also aligned formatting and statement placement when they differed between the non-BigInt and the BigInt version of a test file. (I've diffed some of the non-BigInt and BigInt files against each other and different formatting was a nuisance.)

Test files using `$262.agent.monotonicNow()`:
- Moved `$262.agent.report()` calls outside of the block of code measured `$262.agent.monotonicNow()` to avoid measuring how long it takes to execute `$262.agent.report()`. 
- Without this change some tests failed intermittently in certain test configurations in SpiderMonkey. For example with the flags `--ion-eager -- ion-offthread-compile=off` which forces early Ion compilation on the main thread. The `$262.agent.report()` implementation in the SpiderMonkey test262 host embedding uses a for-loop which was forcefully Ion compiled under these settings. And because Ion compilation can take some time, the test case ran longer than `$262.agent.MAX_TIME_EPSILON` which lead to intermittent failures.

Test files using `CanBlockIsFalse` / `CanBlockIsTrue`:
- Some of these tests actually expected that the main thread can wait and [[CanBlock]] is `true` for the agent record executing the test. Therefore I've added a new `CanBlockIsTrue` flag and replaced the flags where needed.

test/built-ins/Atomics/wait/**/*.js and test/built-ins/Atomics/wake/**/*.js:
- Use an atomic counter `RUNNING` in more tests to have better control when a worker agent was actually started.
- Replace the various `$262.agent.sleep(/* Sleep X ms to ensure worker actually sleeps */)` calls with the new `$262.agent.tryYield()` function. This `X` was sometimes as low as 10 milliseconds, which is definitely too short for CI systems under heavy load (observed by intermittent CI failures for SpiderMonkey) and sometimes as high as 500 milliseconds, which is probably much longer than needed even when the system is under heavy load. 
- Removed duplicate strings in assertion messages, presumably from copy-pasting the messages between different files.
- Removed extra empty lines at the end of multiple files.

test/built-ins/Atomics/wake/bad-range.js, test/built-ins/Atomics/wake/bigint/bad-range.js, and test/built-ins/Atomics/wait/bigint/non-bigint64-typedarray-throws.js:
- Removed unnecessary `features` and `includes` from this file.

test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js and test/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js:
- The test was actually broken and didn't test what it said it does. This probably explains #1530.
- The test wants to ensure the waiterlist is implemented as a FIFO structure. This requires that the waiting agents all wait on the same index position, because the waiterlists are defined by each index. But if the agents wait on different indices, each agent is inserted into a different FIFO structure and therefore we can't observe any FIFO ordering between the agents when they're woken up.
- All this requires a bit of synchronization between the main agent and the waiting agent, I hope the added comments help to review these changes.

test/built-ins/Atomics/wait/good-views.js:
- The agent sends multiple reports to the main agent, but only the first one was read.
- This error was introduced during previous refactorings. I've changed it to back to use a while-loop as used in the first version of this file.

test/built-ins/Atomics/wait/no-spurious-wakeup-no-operation.js:
- Only the BigInt version of this test was present, copied it so we also get code coverage for the non-BigInt case.

test/built-ins/Atomics/wait/waiterlist-block-indexedposition-wake.js:
- Added extra while loops to avoid intermittent failures when the agent worker haven't started to wait.
- This should help to avoid some of the intermittent failures we saw for SpiderMonkey.

test/built-ins/Atomics/wake/wake-all-on-loc.js and test/built-ins/Atomics/wake/bigint/wake-all-on-loc.js:
- This test was also no longer after previous refactoring sessions.
- The "B" agent only waited for 10 milliseconds, which made it likely that it already timed out before the main agent was able to call `Atomics.wake`, which in turn rendered the test useless, because the test case wants to ensure that `Atomics.wake` cannot wake "B". But if "B" was already timed out, it can trivially not be woken by `Atomics.wake`.
- Added some safety measure to catch the case when "B" timed out before `Atomics.wake` was called and made it a test error if that happens.

test/built-ins/Atomics/wake/count-defaults-to-infinity-missing.js, test/built-ins/Atomics/wake/count-defaults-to-infinity-undefined.js, and test/built-ins/Atomics/wake/undefined-index-defaults-to-zero.js:
- Changed the `$262.agent.start()` calls to use a for-loop to avoid code duplication.
- (Forgot to undo the code formatting around `assert.sameValue`, still need to change it back.)
- Also more while-loops around `Atomics.wake`.
- These changes should fix #1529 and #1566.

test/built-ins/Atomics/wake/wake-all.js:
- Removed "B" worker agent.
- Without this removal the test case would be exactly equal to test/built-ins/Atomics/wake/wake-all-on-loc.js.

test/built-ins/Atomics/wake/wake-in-order-one-time.js:
- Add for-loops to avoid code duplication and make the test more readable.
- Make the `Atomics.wake` assertion messages unique by adding the current loop counter.
- Add `$262.agent.tryYield()` to give the worker agents enough time to actually start waiting.

test/built-ins/Atomics/wake/wake-in-order.js:
- Removed the outer loop `attempt < 10` because it uses `$262.agent` in a way currently not required to work. And which actually also doesn't work in SpiderMonkey's implementation of `$262.agent`.
- According to INTERPRETING.md `$262.agent.broadcast()` broadcasts its message to all agents ever started by `$262.agent.start()` and then blocks until all agents received the broadcast. It is not required that the agents started by the first `$262.agent.broadcast()` call will all be disabled/destroyed/whatever when the second `$262.agent.broadcast()` call occurs, which then means the second `$262.agent.broadcast()` call still tries to reach the agents started in the first loop iteration, but these may no longer accept broadcasts and therefore won't acknowledge they've received the broadcast. Which then means the second `$262.agent.broadcast()` call waits forever.
2018-07-03 12:34:54 -04:00
André Bargull 06c2f01901 Fix multiple test bugs and remove incomplete or no longer valid tests (#1616) 2018-06-29 18:52:53 -04:00
Leo Balter e1d1c68b0e
fix typo for Atomics.wait test, not wake (#1613) 2018-06-28 16:28:03 -04:00
Valerie Young 2fa8fc40e4 Tests for `export * as ns from 'foo'` syntax (#1498) 2018-06-28 15:46:36 -04:00
Jeff Walden 358e5e8a0c Add a test covering the behavior of SingleLineHTMLCloseComment where the LineTerminatorSequence within is either Unicode separator code point. (#1612) 2018-06-27 17:48:24 -04:00
Leo Balter 56091a0c5f
Merge pull request #1533 from rwaldron/1527
Atomics: various corrections, nit-picking and BigInt variants
2018-06-27 13:49:18 -04:00
Rick Waldron e164657a2b Atomics: fixes to bigint variants; updated assertion messages 2018-06-27 12:58:02 -04:00
Rick Waldron c29ae8effb Atomics: refactor atomicsHelper.js to extend $262.agent.* 2018-06-27 11:13:23 -04:00
Rick Waldron a1ff358a06 Atomics: fix invalid index; print error 2018-06-27 10:31:13 -04:00
Rick Waldron 64be6186be Atomics: fix Atomics.xor for BigInt64Array and BigUint64Array 2018-06-26 15:34:55 -04:00
Rick Waldron feab96e601 Atomics: ensure all SharedArrayBuffer sizes are uniform (r3) 2018-06-26 15:05:58 -04:00
Rick Waldron 9bf48e619d Atomics: fix typo "throwes" => "throws" 2018-06-26 14:51:45 -04:00
Ms2ger a6c1d05ac4 Add some additional tests for @@toStringTag on Intl.Locale. (#1604) 2018-06-26 14:43:05 -04:00
Rick Waldron 5c5dd5b286 Atomics: ensure all ArrayBuffer & SharedArrayBuffer sizes are uniform 2018-06-26 14:40:00 -04:00
Ms2ger b4efa8c938 Add tests for the shape of the Intl.RelativeTimeFormat API. (#1596)
* Add Intl.RelativeTimeFormat feature.

* Add tests for the shape of the Intl.RelativeTimeFormat API.

* fixup! Add tests for the shape of the Intl.RelativeTimeFormat API.
2018-06-26 14:02:29 -04:00
Rick Waldron a93262428f Atomics: improvements to wake-*.js tests 2018-06-26 13:39:09 -04:00
Rick Waldron 236473769a Atomics: reduce startup time allowance 2018-06-25 17:02:58 -04:00
Rick Waldron 73be21272d Atomics: wake/wake-in-order.js, capture waiterlist order for wake comparison 2018-06-25 17:02:40 -04:00
Rick Waldron fc4a6f12cb Atomics: ensure all SharedArrayBuffer sizes are uniform 2018-06-25 15:17:45 -04:00
Rick Waldron 7ec0cdba6c Atomics: more fixes for review 2018-06-25 14:54:44 -04:00
Leo Balter 9bddfaea22
Merge pull request #1572 from rwaldron/super-property-reference
SuperProperty evaluation order
2018-06-22 16:42:22 -04:00
Rick Waldron 84f448f060 Atomics: fix buffer sizes 2018-06-22 16:35:15 -04:00
Rick Waldron 5ebd632d8f Atomics: features fixes, harness features, etc. 2018-06-22 15:14:12 -04:00
Rick Waldron c5527b6d16 Atomics: Atomics.wake cleanup pass 2018-06-22 15:14:12 -04:00
Rick Waldron 695e1babd5 Atomics: remove non-sense test file 2018-06-22 15:14:11 -04:00
Rick Waldron 7f3a1c1be9 Atomics: moves getReport and waitUntil into atomicsHelper.js; broad updates to all Atomics.wait tests 2018-06-22 15:14:11 -04:00
Rick Waldron daa9af846d Atomics: wait/bigint cleanup 2018-06-22 15:14:11 -04:00
Rick Waldron ab72a55748 Atomics: spurious wakeup tests 2018-06-22 15:14:11 -04:00
Rick Waldron 22d3877a2a Atomics: further nit picking 2018-06-22 15:14:11 -04:00
Rick Waldron 7389389071 Atomics: use regular functions 2018-06-22 15:14:11 -04:00
Rick Waldron a19232ca4c Atomics: house keeping. 2018-06-22 15:14:11 -04:00
Rick Waldron 89fda0dbd5 Atomics: spurious wakeup tests for all operations that alter value at index 2018-06-22 15:14:11 -04:00
Rick Waldron 13446afa37 fixup! fixup! Atomics: updates to various Atomics tests. gh-1527 2018-06-22 15:14:11 -04:00
Rick Waldron 1a382d2c3c Atomics: features list corrections 2018-06-22 15:14:11 -04:00
Rick Waldron 3ea465996c fixup! Atomics: updates to various Atomics tests. gh-1527 2018-06-22 15:14:11 -04:00
Rick Waldron 7c30ad5c4f Atomics: expected return values for all atomic operations 2018-06-22 15:14:11 -04:00
Rick Waldron a3b05ee839 Atomics: updates to various Atomics tests. gh-1527
Ref gh-1531
2018-06-22 15:14:11 -04:00
Rick Waldron e246d95deb Remove strange copyright lines 2018-06-22 15:14:11 -04:00
Rick Waldron 8a78bb09a7 Atomics: remove BigInt condition from existing tests. 2018-06-22 15:14:10 -04:00
Leo Balter 6c2503a810
Adds String.fromCodePoint to the features list (#1606) 2018-06-21 16:03:08 -04:00
Rick Waldron 510f705689
Merge pull request #1599 from leobalter/u180e
Update RegExp tests for CharacterClassEscape \S
2018-06-19 14:34:01 -04:00
Leo Balter e89e9a8a28
Add global feature tag (#1600) 2018-06-18 18:00:19 -04:00
Leo Balter 012114a6c7 Update non whitespace RegExp tests 2018-06-18 15:53:08 -04:00
Ms2ger 650adc13bf Intl.Locale: Update expectation for empty values for collation and numberingSystem.
The spec changed in https://github.com/tc39/proposal-intl-locale/pull/47.

The tests for calendar were already correct.
2018-06-13 09:43:08 +02:00
Rick Waldron f90a52b396
Merge pull request #1587 from peterwmwong/update-matchall
Update tests for String.prototype.matchAll
2018-06-07 23:15:50 -04:00
Rick Waldron bb24a3966d
Merge pull request #1589 from mathiasbynens/update-property-escapes-tests-unicode-11
Update RegExp Unicode property escape tests per Unicode 11
2018-06-07 23:13:51 -04:00
Rick Waldron 2f201e5561 TemplateMap: split TemplateMap cache test into own file 2018-06-07 23:12:16 -04:00
Rick Waldron 9388d6ad70
Merge pull request #1581 from WebReflection/master
GetTemplateObject with a unique template object
2018-06-07 22:50:25 -04:00
Rick Waldron f578b8754f NumericLiteralSeparator: Update "early" => "parse" in negative tests. Fixes gh-1512 2018-06-07 22:44:03 -04:00
peterwmwong bbad9482e6 Update tests for String.prototype.matchAll
As per spec changes (https://github.com/tc39/proposal-string-matchall/pull/35), removed tests related to the removed IsRegExp call.
To prevent older implementations (not observing spec change) from passing, added a new test to verify the reduced number of observable calls to IsRegExp.

Also fix a misreference in `features` frontmatter.
2018-06-07 21:23:54 -05:00
Rick Waldron acf6de15ec intl402/NumberFormat/length.js: remove calls to verifyNotEnumerable, verifyNotWritable, verifyConfigurable. Fixes gh-1591 2018-06-07 22:14:33 -04:00
Rick Waldron cd4371b5a7 Symbol.prototype.description: Assertion messages and additional tests 2018-06-07 22:08:52 -04:00