Commit Graph

89 Commits

Author SHA1 Message Date
Sam Mikes c33bf0e043 tools, harness: support new YAML frontmatter
parseTestRecord: add support for YAML frontmatter
parseTestRecord: initial unit test for test record parser
parseTestRecord: refactor for testing

factor old parsing; add YAML parsing

runner: support "includes" from YAML frontmatter

support frontmatter "includes" in python runner
use test.includes if present instead of scanning test code with regex

harness: factor individual functions out into files

tools: handle YAML errors

tolerate missing keys in dictionary (flags, includes)
report filename when empty frontmatter block
new option --list-includes to test262.py

harness: factor helper functions into separate files

sth: remove extra close-paren (syntax error)

test_common: TDD; failing parse of YAML

common: use parseTestRecord (YAML-aware)
2014-07-30 15:39:04 -07:00
Sam Mikes d4a3479a1e test262.py: only include helper scripts when needed
test262.py: only supply async helper scripts when test is async
sth.js: factor out function isAsyncTest()
timer.js: improve workaround for async tests when Promise is defined but setTimeout is noot

timer.js emulates setTimeout using Promise by doing a busy loop that checks
if `timeout` milliseconds have elapsed.  Modified check to (timeLeft > 0) instead
of (!timeLeft) to prevent infinite loop when check does not happen to run
at precise millisecond timeout expires.

Because test262.py did not support the $INCLUDE directive, some helper
scripts were added to every test -- notably testIntl, timer, and donePrintHandle
Now that $INCLUDE is supported, these can be dropped, speeding overall test run time
2014-07-21 15:15:04 +01:00
Brian Terlson 33c8399de8 Merge pull request #31 from Constellation/fix-error-code
Propagate error code when test cases are failed
2014-07-18 11:38:31 -07:00
Brian Terlson 96c6efe0ef Merge pull request #43 from smikes/initial-Promise-tests
Initial promise tests
2014-07-18 11:22:48 -07:00
smikes 7032af4db8 packager: make packager runnable
packager.py cannot run due to syntax errors in a few script files

packagerConfig: use git instead of hg
test262: use pop instead of delete to avoid throw if property missing
S22.1.2.1_T*: fix docString header comment: s/b /**
S22.1.2.1_T3: fix docString header comment: s/b /**, fix end of docstring * / => */
2014-07-18 08:53:29 +01:00
Sam Mikes 7e07cc138d async,promises: initial tests of Promises
doneprintHandle.js: make $DONE accept any falsy argument as meaning 'pass'
PromiseHelper.js: checkSequence: new helper fn for async tests
.gitignore: port .hgignore to .gitignore syntax
test262.py: support $INCLUDE directive in python test runner

S25.4.4.1*: tests to cover Section 25.4.4.1, Promise.all( iterable )
A1.1: Promise.all is callable
A1.2: Promise.all expects 1 argument
A2.1: Promise.all([]) is a Promise
A2.2: Promise.all([]) is resolved immediately
A2.3: Promise.all([]) is resolved with a new empty array
A3.1: Promise.all expects an iterable argument
2014-07-18 05:37:08 +01:00
NikSurya 9aa6b917fa Adding Support for Async Tests 2014-07-15 13:47:59 -07:00
Yusuke Suzuki d83a16f46c Propagate error code when test cases are failed 2014-03-03 03:32:26 +09:00
Prashanth Srinivasan 87605ba3b5 Bug 1472: Adding JUnit Compatible XML and Logfile support for Python test runner 2013-06-10 11:51:24 -04:00
Dan Schaffer 06879c044f Bug 1466: add test262.py parameter to set loglevel 2013-05-10 16:19:32 -04:00
Dan Schaffer 1cb9ed439f Bug 1457: fix for Windows to remove quotes in test262.py 2013-05-10 16:16:51 -04:00
Norbert Lindenberg 46359091c7 Updated test402 main page to reflect that ECMA-402 is now an approved standard.
Fixed a property access in 6.4_c so that the error message shows the correct expected value.
2012-12-17 23:49:06 -08:00
Norbert Lindenberg 1ba4238d9a Made web site packager insert line breaks into JSON files for saner diffs. 2012-09-12 15:09:36 -07:00
Norbert Lindenberg 1af2425075 Added new tests for chapters 6 and 9 of ECMAScript Internationalization API Specification.
- Removed a few old test cases that were redundant with new, more comprehensive ones.
- Added testIntl.js as standard include for all console tests in test262.py – see related bug 574.
- Added .jshintrc file for settings for the JSHint tool.
2012-08-26 20:49:25 -07:00
Norbert Lindenberg 8cad7d03ce Added tests for requirements imposed on the built-in objects of the ECMAScript Internationalization API Specification by the introduction of chapter 15 of the ECMAScript Language Specification.
- Removed some old tests that were redundant with the new tests.
- Added testBuiltInObject.js as standard include for all console tests in test262.py – see related bug 574.
2012-08-26 20:48:49 -07:00
Norbert Lindenberg c3111850e3 Updated existing tests for June 2012 spec changes; removed LocaleList tests; fixed minor issues.
- Removed LocaleList tests; updated other tests so they don't depend on LocaleList.
- Updated tests so they no longer assume that the prototype object of a constructor is an instance of that constructor.
- Updated tests so that jshint is happy.
- Removed @path attributes from test files; updated comment in packager.py explaining why they're unnecessary.
- Removed "use strict" statements, which interfere with strict/non-strict testing.
- Removed testcase functions, which are unnecessary.
2012-08-22 17:53:26 -07:00
Norbert Lindenberg 9f4a513496 Merged changes. 2012-08-22 16:12:54 -07:00
Bill Ticehurst ebdd0a99e6 Fixing Intl402 and BestPractice pages as per bug https://bugs.ecmascript.org/show_bug.cgi?id=611 2012-08-09 12:29:48 -07:00
Norbert Lindenberg 9a4b4011f8 Got test402 web site into usable shape. Unified headers of test262/402 sites.
- Added table of contents for ECMA-402.
- Added ability to load the right table of contents into results display.
- Added meaningful text to test402 web page.
- Updated test262 web pages for 5.1 edition of ECMA-262.
- Unified headers of test262/402 web pages to ECMAScript <area> <test>.
- Replaced text logos with styled text.
- Decapitalized some text; fixed a typo; expanded an abbreviation.
- Fixed a few issues found by W3 HTML validator.
2012-07-18 12:32:54 -07:00
Norbert Lindenberg d371b39cb6 Fixed bug 443: packager.py fails on Mac because of .DS_Store files.
Running packager.py on Mac unfortunately also changes some line terminators in generated files (bug 444), so lots of additional files in this commit.
2012-07-18 12:19:53 -07:00
t-adamre 385b4f7163 Add capability to run chapters individually from the website 2012-06-12 14:54:30 -07:00
David Fugate 87be1bf6ec https://bugs.ecmascript.org/show_bug.cgi?id=65 fixed. 2012-03-28 16:05:03 -07:00
David Fugate 0612ad7bb3 Added a LICENSE file to the root of the enlistment.
All Microsoft-contributed *.js and *.py sources now have Ecma's copyright header.
2012-02-29 14:23:47 -08:00
David Fugate c3b41309c7 Made it clear on testcases_bestPractice.html that it's not the same as default.html. 2012-02-29 09:02:11 -08:00
David Fugate 4fb5071cd4 Migrated latest external\contributions\Microsoft\ietcLatest changes over to test\suite\*. 2012-02-27 15:46:23 -08:00
David Fugate 0ff258fa1d Experimental test402 (internationalization testing) page added. 2012-01-25 14:29:00 -08:00
David Fugate 279825ea44 Added experimental test402 support (JS internationalization standard). 2012-01-25 14:04:40 -08:00
David Fugate d7619456fa Generate one *.html per *.json in addition to the default.html which includes all tests.
Added support to create testcases_bestPractice.html without also adding them to default.html.

Preliminary support for tests under test/suite/internationalization has been added.
2012-01-19 16:03:21 -08:00
David Fugate 43b58c99d0 Preserve only the first line of each test case's copyright header
when encoding to JSON which coincidentally preserves the BOM as well.
This shaved ~10 megs off of chapter15.json alone.
2011-11-04 12:04:46 -07:00
David Fugate dc9bd9601b Fewer Json files (experiment...). 2011-10-03 16:01:47 -07:00
Mark Miller 13b63c5486 test262 console runner working! 2011-09-30 08:24:38 -04:00
Mark Miller 64db10aa2d Just reformatting to 80 columns 2011-09-30 03:59:50 -04:00
David Fugate be82787a00 Do not include 'code' key in test object metadata. 2011-09-26 17:22:29 -07:00
David Fugate ffa85c2584 Moved all test helper functions into sta.js; removed sputnikLib.js.
Laid down the groundwork for a console-based test runner.
2011-09-26 16:12:46 -07:00
David Fugate 19ec143b0d Do not put 'best practice' tests on the live website. 2011-09-25 15:37:56 -07:00
David Fugate ba41d38511 Regenerated website using new package.py and test/suite/converted. 2011-09-25 11:41:04 -07:00
David Fugate 2b0122ef82 All tests are globally scoped tests - Part I. 2011-09-24 16:35:45 -07:00
David Fugate 54b6ae5e9c Moved resources and images directories (from website) up a couple levels.
Added new 'packaging' directory to tooling.
2011-09-24 11:47:48 -07:00
David Fugate ff32b5c3fc New HTML+console packager. 2011-09-24 10:35:50 -07:00