需要安裝的依賴包
$ sudo yum install -y python-devel openssl-devel python-pip git gcc libxslt-devel mysql-devel postgresql-devel libffi-devel libvirt-devel graphviz sqlite-devel libvirt-devel
代碼下載
$ git clone https://github.com/openstack/nova.git
安裝pip
$ sudo yum install -y python-pip
安裝tox
$ sudo pip install tox
tox配置文件
tox配置文件爲tox.ini
目前可以看到在tox的session裏面的envlist是支持的env列表
[tox] envlist = py27,pep8,pip-missing-reqs
目前一般用py27來執行測試。
tox生成virtualenv
$ tox -e py27
這裏有可能由於內存不足導致命令執行失敗,退出報gcc failed exited with status 4, 在dmesg上可以看到Out of memory。 要留足夠的內存。我曾經一百多兆近200兆的free也報out of memory。
libvirt需要開發包即 libvirt-devel rpm包,這個在doc裏面後面才提交的patch纔有寫
tox執行unit test
執行測試
$ tox -e py27 nova.tests.unit.scheduler
測試nova/tests/unit/scheduler目錄下得測試案例
py27: commands succeeded congratulations :)
這樣表示測試案例全通過
修改測例
可以通過修改相關文件來增刪改查那些測例。