Commit Graph

1268 Commits

Author SHA1 Message Date
Leonardo Balter d9a277aa7c Fix location based return value for Date on subclassing tests
Fixes #489
2016-02-22 13:53:43 -05:00
Gorkem Yakin fc9bdb7cd5 Merge pull request #516 from bocoup/id-esid
s/id/esid
2016-02-22 09:56:03 -08:00
Leonardo Balter bf782c8421 s/id/esid
Fixes #477
2016-02-22 09:47:42 -05:00
Gorkem Yakin bd33b2b8e5 Merge pull request #509 from bocoup/typedarray-object-set
Add tests for _TypedArrays_(object) using object properties
2016-02-19 16:33:40 -08:00
Gorkem Yakin 7d345fc95b Merge pull request #484 from ljharb/object_get_own_property_descriptors
Add Object.getOwnPropertyDescriptors tests
2016-02-19 12:08:37 -08:00
Jordan Harband a6fad62d7c Last minute fixes 2016-02-19 11:27:31 -08:00
Gorkem Yakin 07aafd0c63 Merge pull request #505 from anba/intl_name
Add coverage for 'name' property of Intl built-in functions
2016-02-19 11:04:38 -08:00
Gorkem Yakin 8dd63de7b6 Merge pull request #496 from bocoup/495-enumerate
Update tests for Reflect.enumerate and Proxy enumerate trap
2016-02-18 13:44:50 -08:00
Leonardo Balter efced6eb32 Add test to assert Reflect.enumerate is now undefined
Ref #495
2016-02-18 16:40:00 -05:00
Leonardo Balter 65241f1e93 Add test to assert Proxy enumerate trap is not triggered anymore
Ref #495
2016-02-18 16:39:41 -05:00
Leonardo Balter 63c1f1ca88 Remove tests for Reflect.enumerate
Ref #495
2016-02-18 15:57:14 -05:00
Leonardo Balter e223738369 Remove tests for Proxy enumerate
Ref #495
2016-02-18 15:57:14 -05:00
Gorkem Yakin 0bd4e9d2ea Merge pull request #511 from bocoup/typedarray-from-mapfn
Fix test for TypedArrays.from on callable function
2016-02-18 12:24:13 -08:00
Leonardo Balter a61fca93fa Fix test for TypedArrays.from on callable function
TypedArrays constructors are still callable even if they trigger a
TypeError Exception when a new target is not defined
2016-02-18 13:39:49 -05:00
Jordan Harband 6f05b008dc Encapsulate helper function's helper function 2016-02-17 15:01:26 -08:00
Jordan Harband 59dad9172b Make proxy traps helper test a bit more robust.
Per https://github.com/tc39/test262/pull/484#discussion_r53228232
2016-02-17 12:50:26 -08:00
Jordan Harband d530c87b41 Create `proxyTrapsHelper` to throw on all traps by default. 2016-02-13 15:56:47 -08:00
Leonardo Balter c82ab8cdbd Add extra tests for _TypedArrays_(object) using object properties 2016-02-13 03:55:53 -02:00
Gorkem Yakin dbcc8cadf3 Merge pull request #507 from bocoup/remove-unused-file
Remove unused harness file
2016-02-12 17:16:01 -08:00
Gorkem Yakin 834a28cb95 Merge pull request #502 from bocoup/runner-race
Avoid Race Conditions in Test Runner
2016-02-12 17:13:51 -08:00
Gorkem Yakin eeb44cbe09 Merge pull request #500 from bocoup/prms-guard-thenable-opt
Promise: Add tests to disallow faulty optimization
2016-02-12 17:06:34 -08:00
Gorkem Yakin 5de18ae0b6 Merge pull request #501 from bocoup/prms-then-ctor-access-count
Promise: Add test for constructor access count
2016-02-12 16:54:20 -08:00
Gorkem Yakin 147ff7f741 Merge pull request #499 from bocoup/reorg-annex-b
Reorganize tests for Annex B extensions
2016-02-12 16:49:06 -08:00
Gorkem Yakin 428418d5c7 Replace remaining es7id tags with id 2016-02-12 16:27:10 -08:00
Leonardo Balter ebda746e6a Replace es7id tags with id 2016-02-12 16:22:56 -08:00
Leonardo Balter 76080eac08 Reuse %TypedArray%.from and .of tests on each TypedArray constructor 2016-02-12 16:02:36 -08:00
Leonardo Balter 048073a29a Add tests for _TypedArray_.from and of 2016-02-12 16:02:36 -08:00
Leonardo Balter 4388f2869c Allow call testWithTypedArrayConstructors with a constructors subset 2016-02-12 16:02:36 -08:00
Leonardo Balter 35dce20ec4 Update tests for %TypedArray%.from and of 2016-02-12 16:02:36 -08:00
Gorkem Yakin 02cbd01bfb Merge pull request #486 from bocoup/object-setprototypeof
Add tests for [[SetPrototypeOf]] on immutable prototype exotic objects
2016-02-12 14:59:25 -08:00
Gorkem Yakin ac7711e95f Merge pull request #485 from bocoup/typedarray-constructor
Add tests for _TypedArray_ constructors
2016-02-12 14:47:48 -08:00
Mike Pennisi 071b5f03c6 Remove unused harness file
The harness file `Test262Error.js` has not contained executable code since it
was introduced in this project [1]. The definition of the `Test262Error`
function has consistently been located in the `sta.js` harness file which test
runners are expected to inject into the test environment.

Remove the file and all references to it.

[1] See commit c33bf0e043
2016-02-12 13:44:18 -05:00
André Bargull 31a9036e9b Add coverage for 'name' property of Intl built-in functions 2016-02-12 18:58:57 +01:00
Leonardo Balter df2d760d60 Add tests for Object.prototype extensibility and its immutable prototype
Object.prototype is extensible and an immutable prototype exotic object,
it's [[Prototype]] value is null

Ref tc39/ecma262#308
2016-02-12 13:10:46 -02:00
Mike Pennisi b791cc4fbe Runner: Re-use lock to share access to stdout
When executing multiple tests in parallel, each "child" thread would
write to the process's standard output buffer immediately upon test
completion. Because thread execution order and instruction interleaving
is non-deterministic, this made it possible for characters to be emitted
out-of-order.

When extended to support multiple concurrent threads, the runner was
outfitted with a "log lock" dedicated to sharing access to the output
file (when applicable). Re-use this lock when writing to standard out,
ensuring proper ordering of test result messages.
2016-02-10 17:15:49 -05:00
Mike Pennisi 217812891c Test runner: Avoid race condition
A recent extension to the test runner introduced support for running
tests in parallel using multi-threading. Following this, the runner
would incorrectly emit the "final report" before all individual test
results.

In order to emit the "final report" at the end of the output stream, the
parent thread would initialize all children and wait for availability of
a "log lock" shared by all children.

According to the documentation on the "threading" module's Lock object
[1]:

> When more than one thread is blocked in acquire() waiting for the state
> to turn to unlocked, only one thread proceeds when a release() call
> resets the state to unlocked; which one of the waiting threads proceeds
> is not defined, and may vary across implementations.

This means the primitive cannot be used by the parent thread to reliably
detect completion of all child threads.

Update the parent to maintain a reference for each child thread, and to
explicitly wait for every child thread to complete before emitting the
final result.

[1] https://docs.python.org/2/library/threading.html#lock-objects
2016-02-10 16:47:01 -05:00
Mike Pennisi e3fae6eeb4 Promise: Add test for constructor access count
Assert that the `constructor` property of the "this" value of
`Promise.prototype.then` is accessed exactly once. This guards against
implementations where repeated access is used instead of reference
passing (possibly motivated by convenience).

Repeated access of this kind was demonstrated by V8's implementation of
the specification:

https://bugs.chromium.org/p/v8/issues/detail?id=4539
2016-02-10 13:56:55 -05:00
Mike Pennisi 219bdc6f73 Promise: Add tests to disallow faulty optimization
Add tests that assert behavior when a Promise is resolved with another
Promise whose `then` method has been overridden. Because all objects
with a `then` method are treated equivalently, the presence of a
[[PromiseState]] internal slot should have no effect on program
behavior.

These tests guard against a faulty optimization originally implemented
in V8:

https://bugs.chromium.org/p/v8/issues/detail?id=3641
2016-02-10 13:38:03 -05:00
Mike Pennisi fbce4ea11c Reorganize tests for Annex B extensions
The "mainline" tests in Test262 are converging on a more formal
structure. Files are organized as tests for either either "language"
(e.g. syntax-driven) or "built-in" (e.g. API-driven). "Language" test
locations are themselves structured according to whether the syntactic
form under test is an Expression or a Statement.

To limit ambiguity when locating/adding tests, re-organize the tests for
Annex B extensions to match this structure.
2016-02-10 10:15:35 -05:00
Rick Waldron 5cb97c293b Merge pull request #497 from tschneidereit/master
Enable parallel test execution in console runner
2016-02-08 16:57:47 -05:00
Till Schneidereit 7ae29d49ae Enable parallel test execution in console runner
Adds a `-j`/`--workers-count` parameter to `tools/packaging/test262.py`, defaulting to `[number of cores] - 1`.

Speeds up running the test suite by about ~3x on my 4-core machine, with the SpiderMonkey shell. This could certainly be optimized more by just appending test results to per-thread lists and merging them at the end, but it's better than nothing.
2016-02-08 17:40:16 +01:00
Gorkem Yakin 26aeed1428 Merge pull request #494 from bocoup/indexof-zero
Add tests for zero conversion on Array#indexOf and Array#lastIndexOf
2016-02-05 15:38:45 -08:00
Leonardo Balter 26785d40ca Add tests for zero conversion on Array#indexOf and Array#lastIndexOf
Fixes #435
2016-02-05 19:17:26 -02:00
Gorkem Yakin 7cd2112bf1 Merge pull request #490 from bocoup/reorg-obj
Move tests for object literals
2016-02-05 09:04:40 -08:00
Gorkem Yakin ea89b2ea18 Merge pull request #487 from jugglinmike/tco
Add tests for tail-call optimization
2016-02-05 09:00:27 -08:00
Leonardo Balter 75952beee2 Move test file from TypedArray to TypedArrays folder 2016-02-05 11:58:55 -02:00
Leonardo Balter 0a30413b49 fixup! rename test files + review fixes 2016-02-05 11:53:33 -02:00
Leonardo Balter d033b160cb fixup! Add tests for TypedArrays constructors 2016-02-05 11:53:32 -02:00
Leonardo Balter 7a8120fb63 fixup! Add tests for TypedArrays constructors 2016-02-05 11:53:32 -02:00
Leonardo Balter f8a4229bfd Add tests for TypedArrays constructors 2016-02-05 11:53:32 -02:00