.. _testing: ======= Testing ======= Python Guideline Enforcement ............................ All code has to pass the pep8 style guideline to merge into OpenStack, to validate the code against these guidelines you can run:: $ tox -e pep8 Unit Testing ............ It is strongly encouraged to run the unit tests locally under one or more test environments prior to submitting a patch. To run all the recommended environments sequentially and pep8 style guideline run:: $ tox You can also selectively pick specific test environments by listing your chosen environments after a -e flag:: $ tox -e py35,py27,pep8,pypy .. note:: Tox sets up virtual environment and installs all necessary dependencies. Sharing the environment with devstack testing is not recommended due to conflicting configuration with system dependencies. Functional Testing .................. Functional testing assumes the existence of the script run_functional.sh in the python-ironicclient/tools directory. The script run_functional.sh generates test.conf file. To run functional tests just run ./run_functional.sh. Also, the test.conf file could be created manually or generated from environment variables. It assumes the existence of an openstack cloud installation along with admin credentials. The test.conf file lives in ironicclient/tests/functional/ directory. To run functional tests in that way create test.conf manually and run:: $ tox -e functional An example test.conf file:: [functional] api_version = 1 os_auth_url=http://192.168.0.2:5000/v2.0/ os_username=admin os_password=admin os_project_name=admin If you are testing ironic in standalone mode, only the parameters 'auth_strategy', 'os_auth_token' and 'ironic_url' are required; all others will be ignored. An example test.conf file for standalone host:: [functional] auth_strategy = noauth os_auth_token = fake ironic_url = http://10.0.0.2:6385