dom/imptests/README
author Ehsan Akhgari <ehsan@mozilla.com>
Wed, 22 Aug 2012 11:56:38 -0400
changeset 102997 a16372ce30b5f6b747246b01fcd215a4bf3b6342
parent 99519 dcca069277d0deb5d5a7ff1ba354aad57a78fb72
child 112978 96e7580fb756584faa1e59644af537b85bb7c4b3
permissions -rw-r--r--
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg This patch was generated by a script. Here's the source of the script for future reference: function convert() { echo "Converting $1 to $2..." find . ! -wholename "*nsprpub*" \ ! -wholename "*security/nss*" \ ! -wholename "*/.hg*" \ ! -wholename "obj-ff-dbg*" \ ! -name nsXPCOMCID.h \ ! -name prtypes.h \ -type f \ \( -iname "*.cpp" \ -o -iname "*.h" \ -o -iname "*.c" \ -o -iname "*.cc" \ -o -iname "*.idl" \ -o -iname "*.ipdl" \ -o -iname "*.ipdlh" \ -o -iname "*.mm" \) | \ xargs -n 1 sed -i -e "s/\b$1\b/$2/g" } convert PRInt8 int8_t convert PRUint8 uint8_t convert PRInt16 int16_t convert PRUint16 uint16_t convert PRInt32 int32_t convert PRUint32 uint32_t convert PRInt64 int64_t convert PRUint64 uint64_t convert PRIntn int convert PRUintn unsigned convert PRSize size_t convert PROffset32 int32_t convert PROffset64 int64_t convert PRPtrdiff ptrdiff_t convert PRFloat64 double

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

* writeMakefile.py
  Helper functions to write out Makefiles.
  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.  Add any
necessary files in failures/.