Mobile/Fennec Chrome: Difference between revisions
Line 41: | Line 41: | ||
Chrome tests are run just like mochitests except they have the --chrome flag set on the command line when launching. | Chrome tests are run just like mochitests except they have the --chrome flag set on the command line when launching. | ||
<pre> | |||
python /media/mmc1/unittests/mochitest/runtests.py --autorun --close-when-done --chrome --utility-path=/media/mmc1/unittests/bin --appname=/media/mmc1/unittests/fennec/fennec --xre-path=/media/mmc1/unittests/fennec/xulrunner --certificate-path=/media/mmc1/unittests/certs --log-file=logs/log_content.txt | |||
</pre> | |||
The Chrome tests will fail when run on a device. This is because we don't have enough memory available to load the whole set of tests into memory and execute. | |||
To work around this, we run a subset of tests at a time. We have found that running one subdirectory under the chrome/ folder works out well. Once we have a --test-path that works for directories in chrome, we can do this easier. At the moment, we remove all files from the chrome/ directory and move the files over one directory at a time: | |||
<pre> | <pre> | ||
cd | cd /media/mmc1/unittests/mochitest | ||
cp -R chrome chrome.bak | cp -R chrome chrome.bak | ||
Line 53: | Line 56: | ||
rm -Rf chrome/* | rm -Rf chrome/* | ||
cp -R chrome.bak/content chrome/ | cp -R chrome.bak/content chrome/ | ||
</pre> | </pre> | ||
== TODO == | == TODO == |
Revision as of 19:02, 27 March 2009
Getting the Tests
Edit your mozconfig to contain the following lines:
ac_add_options --enable-tests
Get the source and build according to instructions.
to learn more about the tests, visit the MDC Guide]
Porting tests to N800
With changes from bug 421611 we have made this process much simpler.
If following directions for running fennec on N800/N810 devices, you will need to package up the tests from the xulrunner directory and the test harness from the source tree:
cd $(xul_objdir) make package-tests cd dist bunzip2 xulrunner-*tests.tar.bz2 scp xulrunner-*tests.tar root@<deviceip>:/media/mmc1
On the device, untar the xulrunner-*tests.tar in your test directory alongside the fennec-*.tar:
cd /media/mmc1 mkdir unittests mv fennec-*.tar unittests mv xulrunner-*tests.tar unittests cd unittests tar -xvf fennec-*.tar tar -xvf xulrunner-*tests.tar
Running Chrome tests on Fennec
Chrome tests are run just like mochitests except they have the --chrome flag set on the command line when launching.
python /media/mmc1/unittests/mochitest/runtests.py --autorun --close-when-done --chrome --utility-path=/media/mmc1/unittests/bin --appname=/media/mmc1/unittests/fennec/fennec --xre-path=/media/mmc1/unittests/fennec/xulrunner --certificate-path=/media/mmc1/unittests/certs --log-file=logs/log_content.txt
The Chrome tests will fail when run on a device. This is because we don't have enough memory available to load the whole set of tests into memory and execute.
To work around this, we run a subset of tests at a time. We have found that running one subdirectory under the chrome/ folder works out well. Once we have a --test-path that works for directories in chrome, we can do this easier. At the moment, we remove all files from the chrome/ directory and move the files over one directory at a time:
cd /media/mmc1/unittests/mochitest cp -R chrome chrome.bak ## NOTE: you need to do the following steps in a look for each directory ## dirs: [content, docshell, dom, toolkit, widget] rm -Rf chrome/* cp -R chrome.bak/content chrome/
TODO
- HACK: in order to work around bugs bug 472334 and bug 472341, we need to turn on sessionhistory by setting a user_pref("browser.sessionhistory.max_total_viewers", -1) in automation.py
- HACK: in order to get a [session store test] running, we need to set dom.storage.default_quota=640 in automation.py and change domstorage_global.js#88 from 32767 to 8191 in the for loop
- NOTE: these two hacks are discussed in bug 475098