1This directory contains tests imported from W3C test suites. In order to make it
2as easy as possible to update these tests, no changes are made to the imported
3files (names for scripted tests do get a test_ prefix to integrate with the test
4runner, however). The scripts to update tests are provided.
5
6
7=======================
8Files in this directory
9=======================
10
11Source;  Usage and purpose;  License
12
13* testharness.js / testharness.css
14  Directly imported from the W3C repository (<http://dvcs.w3.org/hg/resources>),
15  with the updateTestharness.py script.
16  Provide the test harness.
17  W3C Test Suite License / W3C 3-clause BSD License
18
19* idlharness.js
20  Directly imported from the W3C repository (<http://dvcs.w3.org/hg/resources>),
21  with the updateTestharness.py script.
22  Used to test WebIDL.
23  W3C Test Suite License / W3C 3-clause BSD License
24
25* WebIDLParser.js
26  Directly imported from the W3C repository (<http://dvcs.w3.org/hg/resources>),
27  with the updateTestharness.py script.
28  Used by idlharness.js to parse IDL blocks.
29  MIT License
30
31* updateTestharness.py
32  Used to update the above files.
33  MPL
34
35* parseManifest.py
36  Imported from <https://bitbucket.org/ms2ger/test-runner>. Parses MANIFEST
37  files (provided in the W3C repository) as documented at
38  <https://bitbucket.org/ms2ger/test-runner/raw/tip/manifests.txt>.
39  MIT License
40
41* testharnessreport.js
42  Glue between testharness.js and our Mochitest runner.
43  MPL
44
45* importTestsuite.py
46  Imports a test suite from a remote repository. Takes one argument, a file in
47  the format described under webapps.txt.
48  Note: removes both source and destination directory before starting. Do not
49        use with outstanding changes in either directory.
50  MPL
51
52* parseFailures.py
53  Parses failures out of a mochitest log and writes out JSON files and Makefiles
54  into the correct failures/ folder.
55  The mochitest log should be produced by setting the 'dumpFailures' flag in
56  testharnessreport.js; this will print out the encountered failures, marked
57  by @ signs.
58  MPL
59
60* writeBuildFiles.py
61  Helper functions to write out automatically generated build files.
62  MPL
63
64* Makefile.in
65  Integration with our build system. Installs support files into /resources and
66  includes a .mk file for each repository.
67  MPL
68
69* failures/
70  Expected failures for tests in each repository.  Each test's failures, if
71  any, are in a file with the same path and name with .json appended.  New
72  expected fail files currently needed to be added manually to makefiles.
73
74* html.mk / webapps.mk / ...
75  Generated by importTestsuite.py from webapps.txt.
76  Contains a list of the directories with tests. To be included in Makefile.in.
77
78* html.txt / webapps.txt / ...
79  Input to importTestsuite.py.
80  Lists the URL of the repository and the destination directory (separated by a
81  vertical bar), followed by a list of directories within the repository
82  (separated by line feeds).
83
84* html / webapps / ...
85  Actual tests.
86  W3C Test Suite License / W3C 3-clause BSD License
87
88
89=====================================================================
90Importing an additional directory from an already-imported repository
91=====================================================================
92
93Add a line to the relevant data file (e.g. webapps.txt), with the path to the
94additional directory relative to the root of the remote repository, and then run
95the importTestsuite.py script, passing the data file as its argument.
96
97
98==========================
99Importing a new test suite
100==========================
101
102Create a data file in the format documented above, and run the
103importTestsuite.py script, passing the data file as its argument.
104This will create a foo.mk file; include this file in dom/imptests/Makefile.in.
105
106Add any necessary files in failures/.
107