Commit Graph

113 Commits

Author SHA1 Message Date
Mark Miller 176f5f8542 Generated adjusted tests 2011-09-23 17:42:36 -07:00
Mark Miller 23e84ad9a1 Automatically generated result of converting to the new agreed
(between David Fugate and I) canonical test262 test format
2011-09-23 16:16:28 -07:00
Mark Miller 72d70024b9 Regenerated ietestcenter tests, taking into account info from IETCGlobalScope.js 2011-09-14 12:49:33 -07:00
Mark Miller d403f61b52 Regenerating converted files post-merge 2011-09-14 00:39:29 -07:00
Mark Miller fc18852cda Merge 2011-09-13 23:34:34 -07:00
Mark Miller fd40a156e4 minor 2011-09-13 23:21:43 -07:00
Mark Miller b796d10c4b The generated converted test, as generated from fixed converter
applied to many fixed sources, corresponding to previous two commits
2011-09-13 22:37:44 -07:00
Mark Miller bd72486ff2 Fixed a very large number of bad test case sources, especially
gratuitous strict mode incompatibility. Too many to continue fixing
manually this way. Don't know what to do about that.
2011-09-13 22:12:02 -07:00
David Fugate 807a3ba1b7 Merge. 2011-09-12 11:25:23 -07:00
Mark Miller 68d44bb52a Having restored the test262 sources of these to their original sputnik
form, they now convert correctly to tests that pass our
tools/test262.py test runner. The issue for all three was non-ascii content.
2011-09-12 08:34:41 -07:00
Mark Miller 9973643490 These are the three files that "diff" identified as "binary" files with differences from the Sputnik original. Restoring to their original Sputnik state. 2011-09-12 08:19:27 -07:00
Mark Miller d0f40b63a2 Updating a generated directory.
assertTrue became assertTruthy. Canonical form of doc-comment attribute value source no longer have a leading colon and trailing semicolon. Any existing such are stripped during conversion.
2011-09-11 21:07:23 -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 0065b15889 Just checking in the converted files, generated using the previous commit. 2011-09-07 21:47:38 -07:00
Mark Miller 57c450002d Removed an invalid "var". 2011-09-07 08:52:29 -07:00
Mark Miller d6df1d4a36 Fixed a typo precodition -> precondition 2011-09-07 08:48:46 -07:00
Mark Miller bc6a3ba731 All sputnik and ietestcenter tests converted to proposed new canonical form 2011-09-06 23:35:18 -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 1f6f66cb19 https://bugs.ecmascript.org/show_bug.cgi?id=76 2011-07-18 11:08:15 -07:00
David Fugate 7ffad2be3e Several new Sputnik tests included:
if (!strict_mode) { throw new SyntaxError('unspecified case'); }

This doesn't work for a few reasons:
1.  'strict_mode' is undefined in the test case exeuction context. That is, the test framework
    does not force the test case into strict mode
2.  The test case code looks like:
	"use strict";
	if (!strict_mode) ...
        ...
    Note that 'strict_mode' is not set before being accessed

Really the metadata for these test cases should have a "@strict" property added to instruct the test
framework *not* to run the test if an implementation doesn't support strict mode.
2011-07-07 14:31:22 -07:00
David Fugate f3ed594ec4 https://bugs.ecmascript.org/show_bug.cgi?id=18 (IE Test Center tests only) 2011-07-07 10:10:32 -07:00
David Fugate c77066fc25 https://bugs.ecmascript.org/show_bug.cgi?id=118 2011-07-07 08:47:12 -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 4cbb71f6b0 An ActiveX test slipped into IE Test Center/test262 by mistake. Removed 2011-06-30 09:59:25 -07:00
David Fugate 254821616f Added a few missing test case descriptions. 2011-06-29 12:02:57 -07:00
David Fugate 0e187575b1 Regenerated website. 2011-06-29 11:30:40 -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 c52161e734 Fixed Sputnik test 'path' metadata. 2011-06-29 10:04:15 -07:00
David Fugate dce7ac2a5e Converted Sputnik's latest test case push to test262 format. 2011-06-29 09:40:07 -07:00
David Fugate e182868bad Converted Sputnik's latest test case push to test262 format. 2011-06-29 09:38:48 -07:00
David Fugate b8a44856a4 Fixed 'assertion' and 'description' metadata formatting issues (WRT SputnikConverter). 2011-06-29 09:18:48 -07:00
David Fugate 47b14845af Merged remote changes. 2011-06-28 10:43:22 -07:00
David Fugate febe8b348b Ported Sputnik changes over from the 'external' directory to 'test/suite/sputnik'. Still need to convert
the tests over to test262 format.
2011-06-27 16:20:31 -07:00
David Fugate 55855b285e Updated test262 with test case additions and edits from the PPB2 release of IE10. This included:
- 22 test case additions (mostly strict mode)
- 4 test case edits
2011-06-23 15:04:00 -07:00
David Fugate b084094004 https://bugs.ecmascript.org/show_bug.cgi?id=103 2011-05-25 17:27:58 -07:00
David Fugate 7732e3578e More improvements regarding https://bugs.ecmascript.org/show_bug.cgi?id=33 2011-05-25 14:11:05 -07:00
David Fugate f9ec77866a Fix for https://bugs.ecmascript.org/show_bug.cgi?id=72. 2011-05-25 13:07:43 -07:00
David Fugate 0baf9ae7f6 Seems I accidentally checked in 10.4.2-2-c-1.js.orig in addition to 10.4.2-2-c-1.js. Removed 10.4.2-2-c-1.js.orig. 2011-05-20 13:48:57 -07:00
David Fugate 33c1a02fea Original test author fixed Bug #69. 2011-05-18 15:27:12 -07:00
David Fugate 623f25e341 - disabled five invalid tests
- fixed issues in 10.6-13-a-1.js, 13.2-17-1.js, and 15.5.4.20-2-46.js.  Still have a number
  of test bugs to look into once I get more free time though
2011-05-13 08:46:20 -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 a1c34e8c0a Renamed 15_Native_ECMA_Script_Objects to 15_Native. 2011-04-08 10:11:52 -07:00
David Fugate 6900bf538b test/suite/ietestcenter is now sync'ed to IE PPB10. 2011-04-08 09:24:19 -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 feccaa7ac4 Added partial support for test cases not in any particular section of an
ES5 chapter.  That is, ecma-262-toc.xml now has '.0' sections for all chapters
and I've manually modified (Sputnik Ch. 13 & 14) test case id's and paths
to utilize the '.0' suffix.  Long term, SputnikConverter needs to perform
this transformation itself though.
2011-03-11 17:42:53 -08:00
David Fugate efb7996904 Added IE Test Center test case contributions to test/suite/ietestcenter. 2011-03-09 12:00:57 -08:00
David Fugate 341815df0d Removed (IE9 RC1 refresh) IE TestCenter contributions. To be replaced with
IE9 RTM contributions shortly.
2011-03-09 11:58:22 -08:00
David Fugate 0bcccaca10 Refactored TestCasePackager.ps1 such that it now produces test case XMLs according
to the following criteria:
1.  If a test case directory directly contains *.js files at the root level, package
    the entire directory as an XML regardless of how many *.js files are in
    subdirectories
2.  If the directory and subdirectories contain less than 1,000 test cases, package
    the entire directory as an XML.  Otherwise...
3.  Perform steps 1 and 2 on each subdirectory of the directory

The net effect of this change is that no test case XMLs are larger than 1.5 megs any longer,
although the total number of test XMLs has jumped from about a dozen to ~75.  This should
make running the test harness seem a little smoother across all browsers since we won't be
blocked downloading 4 meg files for several seconds any longer.
2011-03-02 10:24:58 -08:00
David Fugate 6a806c8b7f Three test cases fixes. One of these involved re-enabling 15.2.3.3-4-188.js. 2011-03-01 11:08:16 -08:00
David Fugate f4ddccc805 Fix for https://bugs.ecmascript.org/show_bug.cgi?id=32. 2011-02-28 14:03:58 -08:00
David Fugate 413c693d4a Added fresher bits from external\contributions\Microsoft\ietestcenter_ie9_rc1_refresh1. 2011-02-25 10:23:38 -08:00
David Fugate 1eb572044d Removing test/suite/ietestcenter and replacing it with fresher bits
from external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1.
2011-02-25 10:21:24 -08:00
David Fugate d3d9d28c18 Sputnik tests were previously modified to ensure global objects with common names (e.g., 'obj')
were actually unique across the test cases.  This *was* needed prior to November as we weren't
running each test case in it's own private global environment.  The situation now is that
we're running each test within it's own iframe => the modifications are no longer needed.

Few small improvements to SputnikConverter:
- App.config file locations have been fixed
- template files get pushed alongside generated tool binaries
- the root path for Sputnik conformance files is "Conformance", not "tests"
- allow the main exe to throw exceptions so they can be properly debugged with VS
2011-02-10 17:58:47 -08:00
David Fugate 82c8d63eee Added a test harness 'debug' mode to Simple Test Harness. Accessible via appending
"?sitedebug" to the end of the Test262 URL.

There's a mismatch between the Test262 test harness and IE Test Center's harness
which invalidated 15.4.4.17-5-1.js, 15.4.4.18-5-1.js, and 15.4.4.20-5-1.js on Test262.
Essentially what's going on is Test262 uses the 'window' object as 'this' for the test
case functions whereas IE Test Center uses the test case object housing the test case
function as this.  This causes problems for test cases pertaining to scoping.  I've gone
ahead and adjusted the Test262 tests to expect 'window' to be 'this', and will be updating
IE Test Center's harness to use the 'window' object as well so we don't run into this
problem again.
2011-02-08 09:42:59 -08:00
David Fugate f301c17e6b sth.js: added a couple of test helper functions
Addressed test case issues detailed in https://mail.mozilla.org/pipermail/test262-discuss/2011-January/000020.html.
2011-02-02 13:24:45 -08:00
David Fugate 1ef6afcf78 ietestcenter sources are now synchronized with IE9 RC1 test cases. 2011-02-02 10:00:25 -08:00
David Fugate dd47c9ea12 Updating IE Test Center sources to IE9 RC1. 2011-02-02 09:57:23 -08:00
David Fugate 3fedec4130 15.4.4.14-9-b-i-6.js and 15.4.4.15-9-b-i-6.js were never reviewed internally at Microsoft
for their adherence to the ES5 specs. Removing until we've fulfilled all internal policies
around these two tests.
2010-11-16 08:00:32 -08:00
David Fugate 35450e9e80 Did a bit of refactoring on the test262 directory structure and propagated changes from
website\* out to test\*:
- Removed test\harness\ECMA-262-TOC.xml.  The casing on this file was incorrect, but
  more importantly it's a static file not generated by the harness
- Populated test\harness with the contents of website\resources\scripts\global\.  In
  the future, we need to update test\harness\* and propagate these changes out to
  website\*
- Test\suite\ietestcenter is now a verbatim copy of the IE Test Center tests that
  WERE under website\resources\scripts\testcases\*
- Moved all Sputnik tests from website\resources\scripts\testcases\* out to
  test\suite\sputnik_converted
- Moved website\resources\scripts\testcases\excludelist.xml out to test\config\*.  This
  particular file was only used for the test conversion process to XML, and is not actually
  needed by the website as best as I can tell
- Website\resources\scripts\testcases now only contains the XMLized test cases.  This is
  the right thing to do as the *.js files here weren't actually being used by the website
  and the general public can now peruse the test cases directly via Mercurial
2010-11-15 21:23:35 -08:00
David Fugate 5892707de0 Fixed a comment in an IE Tester Center test case. 2010-11-12 17:19:12 -08:00
David Fugate 7396642963 This commit includes Microsoft's initial contributions to Test262:
- external\contributions\: test contributions to Test262 from external entities such as Microsoft and Google.
                           This directory consists of the external tests without any modifications
- test\harness\:  test harness used to run Test262 tests.  Presently web-based
- test\suite\:    suite of vendor-neutral ECMAScript test cases conforming to the ES5 spec
- tools\:         among other things this includes a set of tools used to convert various external test
                  contributions to a format the Test262 test harness can consume
- website\:       an archived copy of the http://test262.ecmascript.org website
2010-10-18 20:50:07 -07:00