SoftwareTesting:Tools:SimpleXulTestHarness
Jump to navigation
Jump to search
old content
- example xul/run-js-as-chrome test (davel's example)
- in the example, extract_search.sh demonstrates how to create a profile
- 2 steps - CreateProfile makes the directory and prefs.js file, and the first run populates the profile directory with all the other stuff
- the sleep 5 is necessary because firefox (on mac at least) restarts itself during the first-run process. probably extension manager checking for stuff
- installing an extension is not covered by this example
- need to add result reporting (pass/fail) to this example
- in the example, extract_search.sh demonstrates how to create a profile
description
davel used this set of scripts to help verify that the default search engine plugins bundled with localised builds of firefox were as expected.
The wrapper script extract_search.sh expects paths to firefox dmg files on the command line. It installs firefox from each dmg, creates a new profile, runs the "test" to list the search engine stuff, then deletes the profile and that instance of firefox.
The wrapper script has the following assumptions:
- running on a mac
- APP_DATA_DIR set to ~/Library/Application Support/Firefox
- on my machine, I have a symlink to that dir from my home dir
- SEARCHTEST_DIR set to directory containing all these files
- WORK_DIR set to a writable directory, use to install firefox and hold the newly-created profile
- tests.manifest contains a file: url link to the SEARCHTEST_DIR directory
- hmm, we could make extract_search.sh edit the manifest file on the fly . . .
- nothing is creating or deleting profiles while this script is running
- changes to profiles.ini made by other things while this script is running will be clobbered.
to do list
- figure out where/how to check this in to the tree
- as an extension, to populate chrome://tests/ ?
- how can test stuff from other parts of the tree get installed into chrome://tests/
- add invocation hooks
- what test to run
- auto-discovery of tests?
- command -line pointer to test manifest file, like layout reftest?
- add test result reporting
- simple dump statements
- maybe a chrome test runner with progress bar, like jsunit's test runner