947
edits
(high-level description of ManifestDestiny) |
(→File Format: fill out stub) |
||
| Line 7: | Line 7: | ||
[[https://wiki.mozilla.org/Auto-tools/Projects/UniversalManifest original manifest solution]] | [[https://wiki.mozilla.org/Auto-tools/Projects/UniversalManifest original manifest solution]] | ||
== File Format == | == File Format == | ||
Tests represented as sections in the .ini files: | |||
[aTest.js] | |||
Usually (in all existing cases), the section name (aTest.js) is the relative path to the test file or directory. This is currently loosely assumed in the parser. Tests may have arbitrary key, value metadata associated with them: | |||
[aTest.js] | |||
foo = bar | |||
disabled = | |||
While the .ini file is a de facto standard ( http://en.wikipedia.org/wiki/INI_file ) that usually represents an unordered data structure, it is desirable to run the tests in the order presented in the file. ManifestDestiny follows this ordered convention. | |||
Additional manifest files may be included with a include: directive: | |||
[include:path-to-additional-file.manifest] | |||
The path to included files is relative to the current manifest. The included file will inherit all top-level variables of the manifest its included from and whatever overrides it specifies in its own section. | |||
The DEFAULT section contains variables that all tests in the current and included manifest inherits from. Tests may override top-level variable by their own sections. | |||
The internal format of the tests is (in python terms) a list of dicts: | |||
[{'path': '/home/jhammel/mozmill/src/ManifestDestiny/manifestdestiny/tests/testTechnicalTools/testAccessPageInfoDialog.js', 'name': 'testTechnicalTools/testAccessPageInfoDialog.js', 'here': '/home/jhammel/mozmill/src/ManifestDestiny/manifestdestiny/tests', 'manifest': 'tests/mozmill-example.ini'}, | |||
{'path': '/home/jhammel/mozmill/src/ManifestDestiny/manifestdestiny/tests/testToolbar/testBackForwardButtons.js', 'name': 'testToolbar/testBackForwardButtons.js', 'here': '/home/jhammel/mozmill/src/ManifestDestiny/manifestdestiny/tests', 'manifest': 'tests/mozmill-example.ini'}] | |||
As long as this internal format is kept, the internal logic can be maintained independently of manifest format | |||
== Architecture == | == Architecture == | ||
edits