Commit Graph

5183 Commits

Author SHA1 Message Date
David Fugate 46cb0b9f54 Removed 'website' version; left in 'test suite' version displayed on the 'run' page. 2011-05-03 09:48:03 -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 ef45786a21 A major web browser does not fire window.onerror for iframes when the iframe's document
contains a JavaScript syntax error (major test area).  Added a workaround.
2011-04-20 15:39:50 -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 a1c34e8c0a Renamed 15_Native_ECMA_Script_Objects to 15_Native. 2011-04-08 10:11:52 -07:00
David Fugate 7ee99fb6ce We had a duplicate copy of fnGlobalObject in both sth.js and sta.js. Left only the sta.js copy.
Regenerated the JSON files based on ietestcenter changes.
2011-04-08 09:44:12 -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 1af6eb57c0 Microsoft's test262 contributions with respect to IE PPB10. 2011-04-08 09:20:26 -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 58fbb10d21 Ecmascript bug 60 is indeed valid and I've disabled the two related test
cases.
2011-03-23 17:27:18 -07:00
David Fugate bbc06eb6f2 Now looked at all bugs.ecmascript.org test case issues up to and
including https://bugs.ecmascript.org/show_bug.cgi?id=59.
2011-03-23 15:39:26 -07:00
David Fugate 4ec74def48 Disabled invalid tests - see https://bugs.ecmascript.org/show_bug.cgi?id=80
for details.
2011-03-23 15:19:34 -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
David Fugate 31e2bcacf6 Partial cleanup of TestCasePackager.py. Major change is the 'json'
module is now utilized.
2011-03-23 12:48:09 -07:00
David Fugate 61343f1b93 TestCasePackager.py is a verbatim port of TestCasePackager.ps1. The
rationale behind the addition of this file is it's meant to replace
TestCasePackager.ps1 outright and will be runnable on all major
operating systems.  There's still a bit of cleanup work needed as
the Python port was hardly optimized for the language.

A few side effects of this change:
- it now takes under ten seconds to generate the test262 website (PS
  version was taking over a minute)
- generated *.json files are ~5% smaller in size (PS was forcing
  '\r\n' and the Python version preserves the tests' newlines whether
  they're '\r\n' or '\n')
2011-03-23 10:37:21 -07:00
David Fugate 2282dfba34 Fixed a typo on the main page. 2011-03-14 11:44:30 -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 0edb82f716 Fixed a number of small issues with the website. 2011-03-11 14:14:23 -08:00
David Fugate 2a7b5435d7 Switched from using XML for encoded test cases to JSON. 2011-03-11 10:59:52 -08:00
David Fugate e4703374f8 Cleaned up the excluded test case list. 2011-03-10 10:01:21 -08:00
David Fugate 465b4d72bb Re-generated website based on recent test case additions. 2011-03-09 12:07:59 -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 3a7cef574c Added new test case contributions from Microsoft. 2011-03-09 11:55:18 -08:00
David Fugate e1105f20d9 Disabled four invalid test cases - see https://bugs.ecmascript.org/show_bug.cgi?id=58. 2011-03-08 09:06:15 -08:00
David Fugate 8aa57ec203 Made the website version number more prominent. This was a request from a TC-39 meeting. 2011-03-04 15:08:50 -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 98a7dace4b Rebuilt the website using the newly added and removed+disabled tests. 0.5 2011-02-25 11:57:58 -08:00
David Fugate d699a51a2c Disabled 27 bugs due to https://bugs.ecmascript.org/show_bug.cgi?id=22. 2011-02-25 10:52:39 -08:00
David Fugate c2f3659337 Tests affected by https://bugs.ecmascript.org/show_bug.cgi?id=10 have either been fixed or
removed.  No need to disable them any longer.
2011-02-25 10:35:45 -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 d3f3cf97d7 Latest set of external contributions from IE Test Center. Compared to test\suite\ietestcenter:
- 26 test case modifications.  Most of these involved replacing instances 'window' with the
  global object
- removal of 47 test cases.  The bulk of these were dependent upon 'window' methods or properties
  such as 'document' and 'alert'
- addition of 1,234 new test cases.  These cover the following ES5.1 sections:
	chapter07\7.6\7.6.1
	chapter07\7.8\7.8.5
	chapter11\11.8\11.8.2
	chapter11\11.8\11.8.3
	chapter12\12.6\12.6.3
	chapter12\12.6\12.6.4
	chapter12\12.7
	chapter12\12.8
	chapter12\12.9
	chapter13\13.2
	chapter15\15.10\15.10.2
	chapter15\15.10\15.10.4
	chapter15\15.10\15.10.6\15.10.6.2
	chapter15\15.11\15.11.4\15.11.4.4
	chapter15\15.1\15.1.1\15.1.1.1
	chapter15\15.1\15.1.1\15.1.1.2
	chapter15\15.1\15.1.1\15.1.1.3
	chapter15\15.1\15.1.2\15.1.2.2
	chapter15\15.1\15.1.2\15.1.2.3
	chapter15\15.2\15.2.4\15.2.4.2
	chapter15\15.3\15.3.4\15.3.4.5.1
	chapter15\15.3\15.3.4\15.3.4.5.2
	chapter15\15.4\15.4.4\15.4.4.10
	chapter15\15.4\15.4.4\15.4.4.12
	chapter15\15.4\15.4.4\15.4.4.4
	chapter15\15.9\15.9.1\15.9.1.15
2011-02-25 10:17:25 -08:00
David Fugate 2c0f0a557b Disabled an invalid test - S15.3.4.2_A1_T1.js. 2011-02-24 17:50:23 -08:00
David Fugate bac362d0c5 Disabled 13 invalid tests and 4 tests that were incorrectly converted to Test262
format.
2011-02-21 12:00:13 -08:00
David Fugate 45c821fb2f Disabled more invalid test cases as per ES5. These mostly deal with host objects
that are expected to exist, but may very well now.
2011-02-14 14:08:19 -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 bd20fef7a1 Disabled 7 more invalid test cases. 2011-02-10 16:08:29 -08:00
David Fugate 8841b45e0c Six tests are dependent upon the Sputnik driver dynamically generating
some datetime constants before execution.  As we do not yet have support
for this, I've disabled them.  See https://bugs.ecmascript.org/show_bug.cgi?id=11
for more details.
2011-02-10 11:00:25 -08:00
David Fugate 7f1b0fa7a5 Removed prototype www.ecmascript.org revamp. 2011-02-10 09:12:55 -08:00
David Fugate 1f54cd6343 Two 7.9 tests are invalid according to ES5 (see https://bugs.ecmascript.org/show_bug.cgi?id=7).
Disabled.
2011-02-08 13:59:17 -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 e4d4a7a870 test\harness\helper.js: extended the 'finished' method to accept as input the total elapsed execution time
of the tests.  Emit this to the activity bar


test\harness\sta.js:  too many years of Python had me thinking JavaScript arrays have an append method:)  Fixed.
                      Also, added a pickled representation of all test helper functions found in this file


test\harness\sth.js:  detached most test helper functions from the iframe's document object (as globals) and
                      inject these into the actual test cases. It's a bit slower and not as elegant, but it is
                      cleaner from an ES5 purist perspective.  Still need to move Sputnik helper functions into
                      sta.js

                      Extended Controller such that it now measures overall test execution time.  Such a change
                      is very useful for measuring performance-impact changes such as the aforementioned
                      improvement
2011-02-03 16:28:52 -08:00