Confirmed users
1,927
edits
m (→Documentation) |
(Consistent use of the word "mozbase") |
||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
The goal of the | The goal of the mozbase project is to make easy to use [https://developer.mozilla.org/en/Python python] modules for managing the common operations that we do in all our test harnesses. Mozbase is the effort to consolidate harness software into high-quality atomic pieces that may be independently maintained and used. | ||
Mozbase code needs to work with [[Buildbot/Talos]], reftest, mochitest, mozmill, xpcshell, and future harnesses. | Mozbase code needs to work with [[Buildbot/Talos]], reftest, mochitest, mozmill, xpcshell, and future harnesses. | ||
Line 10: | Line 10: | ||
'''Bugs''': | '''Bugs''': | ||
* [https://bugzilla.mozilla.org/buglist.cgi?resolution=---&component=Mozbase&product=Testing bugs in the Mozbase component] | * [https://bugzilla.mozilla.org/buglist.cgi?resolution=---&component=Mozbase&product=Testing bugs in the Mozbase component] | ||
* [https://bugzilla.mozilla.org/buglist.cgi?resolution=---&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=mozbase other | * [https://bugzilla.mozilla.org/buglist.cgi?resolution=---&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=mozbase other mozbase bugs] | ||
Please file bugs against https://bugzilla.mozilla.org/enter_bug.cgi?product=Testing&component=Mozbase | Please file bugs against https://bugzilla.mozilla.org/enter_bug.cgi?product=Testing&component=Mozbase | ||
Line 25: | Line 25: | ||
=== Getting Help with Mozbase === | === Getting Help with Mozbase === | ||
Mozbase is developed by the [https://wiki.mozilla.org/Auto-tools Automation and Tools team]. It is under the | Mozbase is developed by the [https://wiki.mozilla.org/Auto-tools Automation and Tools team]. It is under the governorship of [https://mozillians.org/en-US/wlach Will Lachance (:wlach)] and [https://mozillians.org/en-US/jhammel Jeff Hammel (:jhammel)]. Please feel free to stop by [irc://irc.mozilla.org/#ateam #ateam] on IRC with any questions and we will be happy to help you! Or if something is wrong, [https://bugzilla.mozilla.org/enter_bug.cgi?product=Testing&component=Mozbase&cc=:jhammel please file a bug] and we'll look at it as soon as possible. | ||
=== Installing Mozbase for Development === | === Installing Mozbase for Development === | ||
Line 136: | Line 136: | ||
'''All''' changes should be reviewed before landing. The one exception is version bumps. See https://wiki.mozilla.org/Auto-tools/Projects/MozBase#Versioning for how these are done. | '''All''' changes should be reviewed before landing. The one exception is version bumps. See https://wiki.mozilla.org/Auto-tools/Projects/MozBase#Versioning for how these are done. | ||
If you have admin permissions to the upstream [https://github.com/mozilla/mozbase | If you have admin permissions to the upstream [https://github.com/mozilla/mozbase mozbase repository], you can land the reviewed patch on your own. Otherwise you should ask someone else to get the patch landed. | ||
==== Landing the patch ==== | ==== Landing the patch ==== | ||
Line 151: | Line 151: | ||
* '''TEST''' the patch by [https://wiki.mozilla.org/Auto-tools/Projects/MozBase#Running_the_tests running existent tests] | * '''TEST''' the patch by [https://wiki.mozilla.org/Auto-tools/Projects/MozBase#Running_the_tests running existent tests] | ||
* git merge --squash feature | * git merge --squash feature | ||
* git commit -a -m "Bug XYZ - Add new feature to | * git commit -a -m "Bug XYZ - Add new feature to mozbase; r=reviewer" --author="foo <foo@bar>" | ||
* git push git@github.com:mozilla/mozbase.git master | * git push git@github.com:mozilla/mozbase.git master | ||
Line 175: | Line 175: | ||
https://github.com/mozilla/mozbase/blob/master/versionbump.py | https://github.com/mozilla/mozbase/blob/master/versionbump.py | ||
has been written to perform the steps for | has been written to perform the steps for | ||
[https://wiki.mozilla.org/Auto-tools/Projects/MozBase#Versioning | [https://wiki.mozilla.org/Auto-tools/Projects/MozBase#Versioning mozbase versioning] | ||
* make sure you are on the master branch of the mozbase repository. If you aren't the script will bail out. | * make sure you are on the master branch of the mozbase repository. If you aren't the script will bail out. | ||
Line 221: | Line 221: | ||
* it is expected that setup.py versions are specified as <pre>PACKAGE_VERSION = '1.2.3'</pre> (or "1.2.3"). They currently all are. | * it is expected that setup.py versions are specified as <pre>PACKAGE_VERSION = '1.2.3'</pre> (or "1.2.3"). They currently all are. | ||
* versionbump.py can only handle simple dependencies. That is for install_requires, foo, foo == 1.2.3, bar >= 4.5.6 are fine, but foo == 1.1, == 1.2 is not. | * versionbump.py can only handle simple dependencies. That is for install_requires, foo, foo == 1.2.3, bar >= 4.5.6 are fine, but foo == 1.1, == 1.2 is not. Mozbase currently only has simple dependencies. | ||
=== Mirroring === | === Mirroring === | ||
Line 237: | Line 237: | ||
packages should be mirrored on version bump. | packages should be mirrored on version bump. | ||
Since several packages in | Since several packages in mozbase are dependent on other mozbase | ||
packages, care must be taken to ensure that the versions of the | packages, care must be taken to ensure that the versions of the | ||
packages on m-c are kept compatible with each other. All packages | packages on m-c are kept compatible with each other. All packages | ||
Line 250: | Line 250: | ||
=== Licensing === | === Licensing === | ||
Mozbase code will be [https://wiki.mozilla.org/Auto-tools/Projects/MozBase#Mirroring checked into mozilla-central]. Therefore, code should be appropriately licensed with MPL2. See https://www.mozilla.org/MPL/headers/ to find a copy. | |||
=== Documentation === | === Documentation === | ||
Line 260: | Line 260: | ||
* the README.md is included as the `long_description` in each `setup.py` file so that the documentation may be presented (albeit, unrendered) on [http://pypi.python.org/pypi the Python Package Index]. (''Example'': https://github.com/mozilla/mozbase/blob/master/mozprofile/setup.py ) | * the README.md is included as the `long_description` in each `setup.py` file so that the documentation may be presented (albeit, unrendered) on [http://pypi.python.org/pypi the Python Package Index]. (''Example'': https://github.com/mozilla/mozbase/blob/master/mozprofile/setup.py ) | ||
* [https://wiki.mozilla.org/Auto-tools/Projects/MozBase this page] is the | * [https://wiki.mozilla.org/Auto-tools/Projects/MozBase this page] is the mozbase project page that gives information for core mozbase developers and about the project itself. Documentation may move to and from this page and the various READMEs and full docs. | ||
=== Directory Structure and Imports === | === Directory Structure and Imports === | ||
Line 316: | Line 316: | ||
=== Mozbase and Mozharness === | === Mozbase and Mozharness === | ||
Mozbase and mozharness overlap intent with respect to making testing software and tools reusable and easy to write and extend. | |||
mozharness docs: http://escapewindow.com/mozharness/ | mozharness docs: http://escapewindow.com/mozharness/ |