• 需要安装的依赖包

$ 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 :)

这样表示测试案例全通过


  • 修改测例

可以通过修改相关文件来增删改查那些测例。