Official ECMAScript Conformance Test Suite
Go to file
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
docs Rename `String.prototype.contains` to `String.prototype.includes` 2014-12-10 13:27:42 -08:00
harness Add tests for tail-call optimization 2016-02-01 13:20:17 -05:00
test Merge pull request #494 from bocoup/indexof-zero 2016-02-05 15:38:45 -08:00
tools Test runner: Avoid race condition 2016-02-10 16:47:01 -05:00
website Remove links to hg.ecmascript.org (non-license content) 2015-07-17 17:43:27 +02:00
.gitattributes Import tests from Google V8 (templates) 2015-04-02 12:13:51 -04:00
.gitignore async,promises: initial tests of Promises 2014-07-18 05:37:08 +01:00
.hgignore Regenerated console runner files. Excluded generated test cases. 2012-08-26 20:47:30 -07:00
.jshintrc Added new tests for chapters 6 and 9 of ECMAScript Internationalization API Specification. 2012-08-26 20:49:25 -07:00
CONSOLE-RUNNER.md Enable parallel test execution in console runner 2016-02-08 17:40:16 +01:00
CONTRIBUTING.md Update contribution guidelines 2016-02-04 15:37:02 -05:00
LICENSE New tests and test fixes for ECMAScript Internationalization API. 2013-03-24 23:48:59 -07:00
README.md Update README.md 2016-01-19 13:10:39 -08:00
excludelist.xml Fix packager.py for updated locations 2014-12-09 14:52:12 -08:00

README.md

Test262 is the official ECMAScript (ECMA-262) conformance suite.

Test262 tests conformance to the continually maintained draft future ECMAScript standard found at http://tc39.github.io/ecma262/ , together with any Stage 3 or later TC39 proposals. It is maintained by Gorkem Yakin (@goyakin) with significant contributions from many in the ECMAScript community.

Contributing to Test262

See CONTRIBUTING.md

  1. Sign the Test262 CLA.
  2. Send a pull request. Please make sure you have one commit per pull request. If you have multiple commits, squash them before sending the pull request.