Iris Firefox is a suite of tests specific to Firefox, using the Mozilla Iris test framework.
For more detailed information and troubleshooting tips, please view our wiki.
git clone https://github.com/mozilla/iris_firefox
# Run the Mac bootstrap script
cd iris
./bootstrap/bootstrap.sh
# Run this command to agree to xcode terms of service
sudo xcodebuild -license accept
cd iris_firefox
pipenv install
pipenv shell
iris firefox
git clone https://github.com/mozilla/iris_firefox
cd iris_firefox
bootstrap\bootstrap.sh
# Install project requirements and activate the virtualenv
pipenv install
pipenv shell
# Run Iris
iris firefox
git clone https://github.com/mozilla/iris_firefox
cd iris_firefox
./bootstrap/bootstrap.sh
# Note: This will take around 10 minutes to download, compile, and install dependencies
# Run the following commands to complete installation and launch Iris
pipenv install
pipenv shell
iris firefox
For examples of using Iris Firefox, see our wiki and documentation.
To contribute to the Iris Firefox project, more details are available on our wiki.
Iris has pre-commit hooks for flake8 linting and black code formatting. These hooks will run black and flake8 prior to committing your changes.
This means that black will format all python files in-place, and flake8 will lint your code for any errors.
If there are flake8 violations, your changes will not be committed. The list of ignored rules is documented in the
tox.ini
file. There should be a compelling reason to do so before adding to this list.
If you already have iris installed on your system prior to this patch, you will need to run pipenv install
again to install the pre-commit module.
# Install dependencies, including pre-commit
pipenv install
# Install pre-commit hooks defined in .pre-commit-config.yaml
pre-commit install
That's it! Here's an example of how it works:
# make some changes
git add -A
git commit -m 'detailed commit message'
[WARNING] Unstaged files detected.
[INFO] Stashing unstaged files to /Users/ksereduck/.cache/pre-commit/patch1570121459.
black....................................................................Passed
Flake8...................................................................Failed
hookid: flake8
targets/firefox/bug_manager.py:11:1: E402 module level import not at top of file
targets/firefox/bug_manager.py:12:1: E402 module level import not at top of file
targets/firefox/bug_manager.py:14:1: E402 module level import not at top of file
targets/firefox/bug_manager.py:15:1: E402 module level import not at top of file
targets/firefox/bug_manager.py:16:1: E402 module level import not at top of file
[INFO] Restored changes from /Users/ksereduck/.cache/pre-commit/patch1570121459.