summaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* [generation] Tolerate unicode in source files (#1411)jugglinmike2018-02-097-14/+22
|
* Lint: inflect for pluralizingRick Waldron2018-01-112-14/+16
|
* tools/lint/lib/checks/esid.py: allow "sup-"Rick Waldron2018-01-101-1/+1
|
* lint: accept frontmatter without esid, es6id.Rick Waldron2018-01-101-6/+11
|
* Add es[56]?id checksAdrian Heine2018-01-102-0/+33
|
* Rename negative test "phase" for module resolutionMike Pennisi2018-01-054-1/+46
|
* Rename negative test "phase" for parsingMike Pennisi2018-01-054-4/+4
| | | | | | | | | | | | | | Early errors may result from parsing the source text of a test file, but they may also result from parsing some other source text as referenced through the ES2015 module syntax. The latter form of early error is not necessarily detectable by ECMAScript parsers, however. Because of this, the label "early" is not sufficiently precise for all Test262 consumers to correctly interpret all tests. Update the "phase" name of "early" to "parse" for all those negative tests that describe errors resulting from parsing of the file's source text directly. A forthcoming commit will update the remaining tests to use a "phase" name that is more specific to module resolution.
* Remove unused constants in checks/features.pyAdrian Heine2018-01-051-7/+0
|
* tools/lint: install PyYAML if not available. Fixes gh-1286Rick Waldron2017-10-181-0/+17
|
* Add a little helper for convenience in testing changes (#1260)⭐caitp⭐2017-10-041-0/+152
|
* Rename fixture and change actual test, because an empty "features" list is ↵Rick Waldron2017-09-082-3/+2
| | | | invalid anyway!
* Lint/test: update multiple includes testRick Waldron2017-09-081-2/+2
|
* Lint: fix import orderRick Waldron2017-09-081-1/+1
|
* Lint: add missing return to CheckHarnessFeatures().runRick Waldron2017-09-081-0/+2
|
* Lint: fix CheckHarnessFeatures.comparison_result_lists initial condition ↵Rick Waldron2017-09-081-2/+4
| | | | checks order
* Lint: harness features flag enforcement via linterRick Waldron2017-09-087-2/+111
|
* silence the make.py clean command on Travis (#1194)Leo Balter2017-08-231-1/+1
|
* Enforce use of `throw` stmt in early error testsMike Pennisi2017-06-2810-15/+78
| | | | | | | | | | | | | | | Previously, test consumers were encouraged to insert a `throw` statement as the first statement of tests for early errors. This recommendation made tests harder to consume, and as an optional transformation, consumers may have ignored it or simply been unaware it was made. By explicitly including such a `throw` statement, the tests become more literal, making them easier to consume and more transparent in their expectations. Document expectation for all tests for early errors to include an explicit `throw` statement. Extend linting script to verify that contributors are automatically notified of violations and to ensure that future contributions satisfy this expectation.
* Lint test `features` tag (#1060)jugglinmike2017-06-125-1/+72
| | | | | | | | | | A recent commit introduced a document that enumerated acceptable values for the test "features" metadata tag. However, this list was incomplete, and maintaining it placed extra burden on the project owners. Restructure the document into a machine-readable format. Add entries for all previously-omitted values. Add in-line documentation with recommendations for maintenance of the file. Extend the project's linting tool to validate tests according to the document's contents.
* Allow to specify negative frontmatter values in templates filesAndré Bargull2017-05-041-1/+12
|
* Introduce automated validation for test format (#994)jugglinmike2017-05-0137-0/+571
| | | | | | | This script is intended to identify common test file formatting errors prior to their acceptance into the project. It is designed to support future extensions for additional validation rules.
* Update deploy keysLeo Balter2017-04-241-2/+2
| | | | | | * Update github-deploy-key * Update deploy.sh
* Unify indentation and add .editorconfig (#973)Mathias Bynens2017-04-131-61/+61
|
* Improve readability for ci scripts (#966)Leo Balter2017-04-112-0/+35
|
* [generation] Prevent invalid transformationMike Pennisi2017-03-0413-6/+217
| | | | | | | In order to promote readability of the generated test material, the test generation tool may insert whitespace if the context a given expanded variable calls for it. Avoid inserting such whitespace within literal values that span multiple lines.
* Update test harness to support new negative formatMike Pennisi2016-10-192-9/+37
|
* [generation] Parse and render new error formatMike Pennisi2016-10-195-1/+39
| | | | | | Extend the test generation tool to emit the recently-modified format of the "negative" meta-data. Update the effected test case files accordingly.
* Remove Python-based test runner (#748)jugglinmike2016-08-223-1046/+0
| | | | | | | | | TC-39 agreed to remove this tool from the Test262 repository in May of 2016 [1]. It has since been re-published as a standalone project to facilitate independent development by interested parties [2]. Remove it from the Test262 repository. [1] https://github.com/tc39/tc39-notes/blob/master/es7/2016-05/may-25.md [2] https://github.com/test262-utils/test262-harness-py
* Switch to non-positional argument.Sam Saccone2016-06-181-1/+1
| | | | | | Since the argument is required, we mark it as so. Using this approach gives the user a much nicer error message, as compared to just the "not enough args" message.
* [runner] Add support for "folding" block delimiter (#654)jugglinmike2016-05-312-1/+6
|
* Merge pull request #587 from bocoup/generation-annexb-fnsLeo Balter2016-05-316-10/+32
|\ | | | | Add tests for Annex B "function in block" semantics (procedurally generated)
| * [generation] Improve file creation heuristicMike Pennisi2016-04-181-3/+9
| | | | | | | | | | | | | | | | | | In expecting "case directories" to contain a sub-directory named "default", the test generation tool is unable to generate tests for features where a directory named "default" is not appropriate. Modify the heuristic that identifies "case directories" to use a more fundamental aspect (i.e. the existence of at least one "case" file).
| * [generation] Expand "comments" in string literalsMike Pennisi2016-04-185-7/+23
| | | | | | | | | | Extend test generation tool to recognize and expand interpolation patterns within string literals.
* | [generation] Preserve newlines in `info` tagMike Pennisi2016-04-266-6/+6
| |
* | [generation] Avoid generating trailing whitespaceMike Pennisi2016-04-263-1/+71
| |
* | [generation] Strip whitespace from generated YAMLMike Pennisi2016-04-263-1/+23
| |
* | [generation] Support changing to existing files (#583)jugglinmike2016-04-251-2/+3
|/ | | | | | | When inspecting previously-generated files, a new `Test` instance should be used. This avoids over-writing the in-memory representation of the latest test, and allows previously-existing test files to be partially updated according to subsequent changes in their respective source/case files.
* Merge pull request #545 from bocoup/generationLeo Balter2016-04-1518-0/+702
|\ | | | | Introduce test generation tool
| * Introduce test generation toolMike Pennisi2016-03-1618-0/+702
| |
* | Merge pull request #504 from bocoup/explicit-asyncLeo Balter2016-03-171-1/+1
|\ \ | |/ |/| Make asynchronous test configuration explicit
| * Make asynchronous test configuration explicitMike Pennisi2016-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For asynchronous tests, the contract between test file and test runner is implicit: runners are expected to inspect the source code for references to a global `$DONE` identifier. Promote a more explicit contract between test file and test runner by introducing a new frontmatter "tag", `async`. This brings asynchronous test configuration in-line with other configuration mechanisms and also provides a more natural means of test filtering. The modifications to test files was made programatically using the `grep` and `sed` utilities: $ grep "\$DONE" test/ -r --files-with-match --null | \ xargs -0 sed -i 's/^\(flags:\s*\)\[/\1[async, /g' $ grep "\$DONE" test/ -rl --null | \ xargs -0 grep -E '^flags:' --files-without-match --null | \ xargs -0 sed -i 's/^---\*\//flags: [async]\n---*\//'
* | Console Runner: Formally DeprecateMike Pennisi2016-02-191-0/+126
| | | | | | | | | | Document the console runner's "deprecated" status. Move the documentation to a less central location in the project's file hierarchy.
* | Revert "Enable parallel test execution in console runner"Mike Pennisi2016-02-191-73/+11
| | | | | | | | This reverts commit 7ae29d49aedb82e9d13fca159057e4b37ce36f02.
* | Revert "Test runner: Avoid race condition"Mike Pennisi2016-02-191-6/+6
| | | | | | | | This reverts commit 217812891cd63c20b25379b2cf73f3101416ffe4.
* | Revert "Runner: Re-use lock to share access to stdout"Mike Pennisi2016-02-191-2/+1
| | | | | | | | This reverts commit b791cc4fbec459b2eef502502e44a3d00688e083.
* | Runner: Re-use lock to share access to stdoutMike Pennisi2016-02-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Test runner: Avoid race conditionMike Pennisi2016-02-101-6/+6
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Enable parallel test execution in console runnerTill Schneidereit2016-02-081-11/+73
| | | | | | 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.
* Remove links to hg.ecmascript.org (non-license content)André Bargull2015-07-171-4/+1
|
* Remove links to hg.ecmascript.orgAndré Bargull2015-07-179-36/+9
|