Changes

Jump to: navigation, search

Auto-tools/Projects/Mozbase

291 bytes added, 01:42, 20 June 2013
Test Python Dependencies
Third-party packages -- those not in python's stdlib -- should be introduced only if they provide considerable value to testing (e.g. ability to test what is otherwise not possible, considerable savings in code complexity/manhours, etc.). In general, adding a test-only dependency should be taken (nearly) as seriously as adding a mozbase package dependency via ''install_requires''. Required packages should, if at all possible, be pure python and of high quality. Preferably, test-required packages should be ad hoc standards if possible; for instance, if the package is slated to be included in the stdlib or is in a future python version, it is a good candidate.
If a third-party package is added for testing, it should be added as part of ''extra_packages'' in ''setup_development.py'' (Ref: https://github.com/mozilla/mozbase/blob/master/setup_development.py#L33 ), to the ''python/'' directory and to ''build/virtualenv/packages.txt'' (Ref: https://developer.mozilla.org/en-US/docs/Python#Python_in_Mozilla-Central )in mozilla-central, and to our continuous integration instance(Ref: [#Continuous_Integration], please [https://bugzilla.mozilla.org/enter_bug.cgi?product=Testing&component=Mozbase file a bug] to get the dependency added).
'''Third-party Packages Used in Mozbase Testing:'''
* mock
In general, additional requirements add overhead to code complexity, new contributor learning curve, maintenance cost, and portability, so the value added should justify the costs. Candidate packages should be discussed with Mozbase stakeholders preferably in a bug so that a record is kept.
==== Continuous Integration ====
947
edits

Navigation menu