summaryrefslogtreecommitdiff
path: root/dom/imptests/README
diff options
context:
space:
mode:
Diffstat (limited to 'dom/imptests/README')
-rw-r--r--dom/imptests/README106
1 files changed, 106 insertions, 0 deletions
diff --git a/dom/imptests/README b/dom/imptests/README
new file mode 100644
index 0000000000..13906cef97
--- /dev/null
+++ b/dom/imptests/README
@@ -0,0 +1,106 @@
+This directory contains tests imported from W3C test suites. In order to make it
+as easy as possible to update these tests, no changes are made to the imported
+files (names for scripted tests do get a test_ prefix to integrate with the test
+runner, however). The scripts to update tests are provided.
+
+
+=======================
+Files in this directory
+=======================
+
+Source; Usage and purpose; License
+
+* testharness.js / testharness.css
+ Directly imported from the W3C repository (<http://dvcs.w3.org/hg/resources>),
+ with the updateTestharness.py script.
+ Provide the test harness.
+ W3C Test Suite License / W3C 3-clause BSD License
+
+* idlharness.js
+ Directly imported from the W3C repository (<http://dvcs.w3.org/hg/resources>),
+ with the updateTestharness.py script.
+ Used to test WebIDL.
+ W3C Test Suite License / W3C 3-clause BSD License
+
+* WebIDLParser.js
+ Directly imported from the W3C repository (<http://dvcs.w3.org/hg/resources>),
+ with the updateTestharness.py script.
+ Used by idlharness.js to parse IDL blocks.
+ MIT License
+
+* updateTestharness.py
+ Used to update the above files.
+ MPL
+
+* parseManifest.py
+ Imported from <https://bitbucket.org/ms2ger/test-runner>. Parses MANIFEST
+ files (provided in the W3C repository) as documented at
+ <https://bitbucket.org/ms2ger/test-runner/raw/tip/manifests.txt>.
+ MIT License
+
+* testharnessreport.js
+ Glue between testharness.js and our Mochitest runner.
+ MPL
+
+* importTestsuite.py
+ Imports a test suite from a remote repository. Takes one argument, a file in
+ the format described under webapps.txt.
+ Note: removes both source and destination directory before starting. Do not
+ use with outstanding changes in either directory.
+ MPL
+
+* parseFailures.py
+ Parses failures out of a mochitest log and writes out JSON files and Makefiles
+ into the correct failures/ folder.
+ The mochitest log should be produced by setting the 'dumpFailures' flag in
+ testharnessreport.js; this will print out the encountered failures, marked
+ by @ signs.
+ MPL
+
+* writeBuildFiles.py
+ Helper functions to write out automatically generated build files.
+ MPL
+
+* Makefile.in
+ Integration with our build system. Installs support files into /resources and
+ includes a .mk file for each repository.
+ MPL
+
+* failures/
+ Expected failures for tests in each repository. Each test's failures, if
+ any, are in a file with the same path and name with .json appended. New
+ expected fail files currently needed to be added manually to makefiles.
+
+* html.mk / webapps.mk / ...
+ Generated by importTestsuite.py from webapps.txt.
+ Contains a list of the directories with tests. To be included in Makefile.in.
+
+* html.txt / webapps.txt / ...
+ Input to importTestsuite.py.
+ Lists the URL of the repository and the destination directory (separated by a
+ vertical bar), followed by a list of directories within the repository
+ (separated by line feeds).
+
+* html / webapps / ...
+ Actual tests.
+ W3C Test Suite License / W3C 3-clause BSD License
+
+
+=====================================================================
+Importing an additional directory from an already-imported repository
+=====================================================================
+
+Add a line to the relevant data file (e.g. webapps.txt), with the path to the
+additional directory relative to the root of the remote repository, and then run
+the importTestsuite.py script, passing the data file as its argument.
+
+
+==========================
+Importing a new test suite
+==========================
+
+Create a data file in the format documented above, and run the
+importTestsuite.py script, passing the data file as its argument.
+This will create a foo.mk file; include this file in dom/imptests/Makefile.in.
+
+Add any necessary files in failures/.