Commit Graph

62 Commits

Author SHA1 Message Date
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 6d83f405b8 The Sputnik/IETC => test262 converter is no longer useful. 2011-11-04 11:16:13 -07:00
David Fugate edd1628de5 FindTestCaseIssues.py is a new helper script which can be used to detect issues with the format of test cases (e.g., runTestCase not being called).
FixPathsAndIds.py now preserves line endings and the BOM.
2011-11-04 11:13:23 -07:00
David Fugate dc9bd9601b Fewer Json files (experiment...). 2011-10-03 16:01:47 -07:00
David Fugate 5a665767e6 Re-gen'ed website using new Sputnik directory names. 2011-10-03 13:31:15 -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
Mark Miller f9fa3d1e82 Changed to convert into test/suite rather than test/suite/converted 2011-09-25 15:10:07 -07:00
Mark Miller caa9c2f11f Changed to get sputnik tests from sputnik_conformance_modified. 2011-09-25 12:58:24 -07:00
David Fugate ffbed26afd Updated convert.js to use new IETC directory. 2011-09-25 12:22:44 -07:00
David Fugate 5e0a22f420 Removed TestCaseHTMLPackager. Replacement is tools/packaging/*. 2011-09-25 11:47:50 -07:00
David Fugate 5534d810e8 Sputnik conversion tool has been removed. 2011-09-25 11:45:55 -07:00
David Fugate ba41d38511 Regenerated website using new package.py and test/suite/converted. 2011-09-25 11:41:04 -07:00
Mark Miller ede572eced Fixed EarlyError naming. Accepting and ignoring at-bestPractice.
Added .hgignore
2011-09-25 08:40:10 -07:00
David Fugate 2b0122ef82 All tests are globally scoped tests - Part I. 2011-09-24 16:35:45 -07:00
David Fugate ab1142e498 Merge. 2011-09-24 11:48:21 -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
Mark Miller 2e320eddb7 Renamed .comment property to .commentary 2011-09-24 11:11:55 -07:00
Mark Miller 292ee6e92c Partial conversion of an older version of convert.js to Python. 2011-09-24 11:11:24 -07:00
David Fugate ff32b5c3fc New HTML+console packager. 2011-09-24 10:35:50 -07:00
Mark Miller ea9a2f4c4c Adjusted converter 2011-09-23 17:41:23 -07:00
Mark Miller 122550c5dd Merged 2011-09-23 16:21:12 -07:00
Mark Miller aac6432ae1 Updated converter to process the new IETCGlobalScope.js file. 2011-09-14 12:43:53 -07:00
Mark Miller fc18852cda Merge 2011-09-13 23:34:34 -07:00
Mark Miller 9f7d9f6ab5 Fixed test262.py to handle strict options correctly.
Fixed convert.py to convert a "use strict" into an @strict_only
2011-09-13 22:06:04 -07:00
David Fugate 807a3ba1b7 Merge. 2011-09-12 11:25:23 -07:00
Mark Miller dec1be4414 minor oversight 2011-09-11 22:04:55 -07:00
Mark Miller a2ca5b512b Adapted the sputnik command line testRunner to a command line
testRunner, test262.py, that can run all the converted tests.
2011-09-11 21:12:01 -07:00
Mark Miller 274b5514fa As David Fugate requested, changed the conversion of ietestcenter
style to append runTestCase(funcName); rather than
assertTrue(funcName.call(this)), giving the testing framework more
control.
2011-09-09 14:48:37 -07:00
Mark Miller 5c054fa412 First checkin of browserPlatform.js, even though it's far from ready. 2011-09-07 23:41:10 -07:00
Mark Miller ca417c93dc Now generating the format David Fugate and I agreed on this
morning. The rewrite of "function testcase()..." now puts the
assertTrue at the bottom. Preconditions, names, and ids are
removed. And the path in the file is ignored, and is instead set
accurately according to where the file is found.
2011-09-07 21:42:49 -07:00
Mark Miller 2f25dc8f0c Added copyright. 2011-09-06 23:37:30 -07:00
Mark Miller 1558636929 Converts test cases to proposed new canonical form 2011-09-06 23:32:28 -07:00
David Fugate 2871886420 test\harness\*:
- a lot of JS harness code written in strings have been moved out to actual physical files
  such as ed.js (syntax error detection for globally scoped tests) and gs.js (global scope test
  case validator).  This change makes it far easier to maintain the test harness code
- reorganized helper.js providing a clear indication which methods are used by external objects,
  which are implementation details, and which are unequivocally test262-specific.  I've also added,
  openErrorWindow, which will be used to open a descriptive error message window for each test case
  failure reported on the 'Run' tab
- improved the error message for syntax errors occurring when a test case fails to load
- sta.js no longer tries to pickle all helper functions it contains!  Instead, we load the file
  directly from sth.js.  The performance of fnGlobalObject has been improved.  Finally, the ES5Harness
  object has been moved from sth.js (in a string) to here
- sth.js now has a browser implementer hook, controller.implementerHook, which allows browser implementers
  to handle test case failures in their own way (e.g., log to the filesystem).  The 'run' function was
  basically re-written

Added 37 new test cases from the "IE Test Center" Build release.  There were 14 modifications to
existing test cases as well.  Refactored SputnikGlobalScope.js such that test case paths are now used
as indices into the GlobalScopeTests array.

TestCasePackager.py had the concept of templated test harnesses introduced - see templates\runner.test262.html.
Also added support for one HTML test harness per ES5 chapter.  Last but not least, TestCasePackagerConfig.py
now has a 'source control' abstraction class which abstracts away source control adds|edits when dynamically
generating *.json and *.html test chapters.
2011-08-25 11:18:44 -07:00
David Fugate c0b6d37ba0 Added some missing copyright headers. 2011-06-30 14:33:50 -07:00
David Fugate 42b534663f Added a small script, InvalidTestDetector.py, to help detect test dependencies on DOM and
host objects (which make them invalid for test262).  Using this, I found one benign 'alert'
usage (it was never even called) and removed it.
2011-06-30 14:31:11 -07:00
David Fugate b78c959d2a New Sputnik 'negative' metadata that included exception type was causing problems for SputnikConverter.
Took the easy fix and split the metadata into two: 'negative' and 'errortype'.
2011-06-29 11:11:12 -07:00
David Fugate c04a994e00 Added missing license header to TestCasePackager.py. Also, split
this module in two such that the configuration of the test case
packaging tool is separate from the implementation.
2011-06-02 15:41:54 -07:00
David Fugate 994e6f3049 A previous check-in made today lost generation of 'N.0' test section directories for
tests covering a given chapter, N, without delving into subsections.  This in turn
broken the Results page which was by default displaying individual results for chapters
13(.0) and 14(.0).  Fixed.
2011-04-20 16:52:14 -07:00
David Fugate b055423983 Removed (SputnikConverter) requirement that globally scoped tests be generated to a
'GlobalScope' directory.
2011-04-20 12:01:06 -07:00
David Fugate 545f2c34a0 *NOTE: this is a work-in-progress. Need to remove our dependency on a separate 'GlobalScope'
directory next*

SputnikConverter:
- ES5TestCase.cs
	* Case of JSON-based property names was wrong.  Fixed
	* Use the tests' 'id' instead of 'path' as the GlobalScopeTests keys
	* Added 'id' and 'path' as Global Scope test metadata.  The correct/clean solution here is to simply use 'path'
	  as the key to GlobalScopeTests, but this refactoring needs to be undertaken later when we can convert the
	  'normal' test cases over to use 'path' as the key as well
	* Turns out we cannot depend on the message received by window.onerror to have some form of "syntax"
	  contained within it.  Instead, we'll just rely on the regular expression ".", matches any one character,
	  for the short term
- SputnikTestCase.cs
	* Same case issue as for ES5TestCases.cs
	* Don't trust the Sputnik metadata for the ES5 section name or even test case id to be correct. Instead,
	  generate this information from the file path of the test case


TestCasePackager.py:
- added a new global, GLOBAL_SCOPE_FILES, which is a list of JS files found directly under test\suite\*.js
  which include metadata for so-called globally scoped tests.  These files are imported directly by the HTML
  test harness

test\suite\*:
- regenerated Sputnik tests based on new converter

default.html:
- import SputnikGlobalScope.js.  Really TestCasePackager.py should generate the global scope imports to
  default.html automatically...


website\resources\scripts\testcases\*:
- test cases have shuffled from existing *.json files into globalscope.json
2011-04-20 11:17:38 -07:00
David Fugate 06e62f878b A number of small improvements to Sputnik Test Converter:
- restructured the generated GlobalScope.js file such that the HTML test harness
  can import multiple such files without worrying about one blowing aways another's
  metadata
- inline with the last change, GlobalScope.js has been renamed to SputnikGlobalScope.js
  and generated directly to test\suite\*
- the path and ID properties for most entries in GlobalScope.js were incorrect.  That is,
  they were based on the metadata contained in the original Sputnik tests and not the
  new test262 directories and filenames
- generate global scope tests to test\suite\GlobalScope\* instead of
  test\suite\sputnik_converted\GlobalScope\*.  Going forward we need to move towards
  integrating all test sources into test262 directories (e.g., "GlobalScope"===good;
  "Sputnik\GlobalScope"===not-so-good)
- a few hacks to the sources (e.g., private vars to public vars) I'll fix in a refactoring
  later.  Just trying to get everything working first
2011-04-19 10:15:02 -07:00
David Fugate 24b2fcf78d Vendor did a bit of work to preserve Sputnik's negative test cases in their existing format.
Still needs a bit of integration work into the test harness.

A number of Sputnik tests were written outside the context of a chapter's sections.  E.g.,
"Chapter 13" versus "Chapter 13, Section 1".  We now fake a section number ("13.0" for the
example above) for such cases when generating test case metadata.
2011-04-08 13:29:16 -07:00
David Fugate 08a7f7433a Few minor changes to sta.js and sth.js to support Strict Mode.
Renamed move_test.py to FixTestCasePlacement.py. Still a work in progress.
2011-04-07 10:12:45 -07:00
David Fugate 09186bafb4 84 IE Test Center test cases had corrupted 'path' properties in
their test case objects.  Created an automated tool, FixPathsAndIds.py,
to fix these.

TestCasePackager.py no longer throws when it encounters a non-*.js
file where it expects test cases.  Instead, it simply ignores it.
2011-03-30 09:48:29 -07:00
David Fugate 76ac2946d5 Removed TestCasePackager.ps1. It's been supplanted by TestCasePackager.py. 2011-03-23 13:46:59 -07:00
David Fugate ba59cf13be More cleanup on TestCasePackager.py. 2011-03-23 13:46:15 -07:00