canmove, Confirmed users, Bureaucrats and Sysops emeriti
4,714
edits
No edit summary |
m (Whimboo moved page Auto-tools/Automation Development/Projects/Mozmill Automation/Environment/Requirements to QA/Automation/Projects/Mozmill Automation/Environment/Requirements: Team reorganization) |
||
(12 intermediate revisions by the same user not shown) | |||
Line 16: | Line 16: | ||
=== Mac === | === Mac === | ||
Compared to Linux, Mac OS X does not have developer tools installed per default. Given that | Compared to Linux, Mac OS X does not have developer tools installed per default. Given that xcode even has to be bought via the Apple Store now, we can't make it a requirement. The environment has to work on a clean OS X system with the default Python installation. | ||
=== Windows === | === Windows === | ||
The Windows platform is the most important but also most difficult one. It doesn't have any developer tools or Python interpreter installed per default. That means the environment would also have to bundle Python to be usable at all | The Windows platform is the most important but also most difficult one. It doesn't have any developer tools or Python interpreter installed per default. That means the environment would also have to bundle Python to be usable at all. | ||
== | A nice optional solution which we sadly can't use is the [http://www.py2exe.org/ py2exe extension], which would allow us to kill any dependency on Python bundled with our environment. Given the amount of dependencies, a final larger size on disk, and additional work to make it work, we decided to drop this idea and instead deliver a full python version. | ||
== Applications == | |||
The minimal set of tools, which are necessary for the environment to allow the execution of our existent Mozmill tests is: | The minimal set of tools, which are necessary for the environment to allow the execution of our existent Mozmill tests is: | ||
* [http://pypi.python.org/pypi/Mercurial/ mercurial] (1.9.3) | * [http://pypi.python.org/pypi/Mercurial/ mercurial] (1.9.3) | ||
* [http://pypi.python.org/pypi/ | * [http://pypi.python.org/pypi/simplejson/ simplejson] (2.2.1) | ||
* [http://pypi.python.org/pypi/ | * [http://pypi.python.org/pypi/mozmill mozmill] (latest approved + dependencies) | ||
* [http:// | |||
Both mercurial and simplejson contain optional C extensions for speed-up, which can't be used and have to be disabled. | |||
Additionally the following tools are getting installed on Windows to support a better user experience: | |||
* [http://code.google.com/p/mintty/ mintty] | |||
* [http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/msys-core/ msys core] | |||
== Environment Generation == | |||
The preparation of the Mozmill environment for all platforms has to happen on a build machine with all necessary build tools installed. A script has to fetch all required applications and build the environment automatically. | |||
Build tools required: | |||
* [http://www.python.org/ Python] (2.5 and higher) | |||
* cURL (Linux, Mac) | |||
* Python Headers (Ubuntu: sudo apt-get install python-dev) |