openstack pep8检查和执行测试用例,及遇到的问题

来源:互联网 发布:曲柄摇杆机构优化设计 编辑:程序博客网 时间:2024/06/05 21:17

提交BP的代码,需要提供相应的测试用例

安装pep8

pip install pep8
带源码的检查
pep8 --show-source --show-pep8 testsuite/E40.py
只显示错误的检查
pep8 --statistics -qq Python-2.5/Lib

如直接使用pep8检查

pep8 --statistics /opt/stack/nova/nova/api/openstack/compute/contrib/fixed_ips.py

也可以使用run_tests来检查,如果文件是py,则是在做pep8检查
./run_tests.sh /opt/stack/nova/nova/tests/api/openstack/compute/contrib/test_hosts.py

nosetests用法
http://nose.readthedocs.org/en/latest/usage.html#options

测试某个类

nosetests /opt/stack/nova/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py:FlavorManageTest

测试整个文件

nosetests /opt/stack/nova/nova/tests/virt/libvirt/test_libvirt.py

初次执行用例的时候,报如下错误,执行pip install mock安装后,用例可执行。
ERROR: Failure: ImportError (No module named mock)
  File "/opt/stack/nova/nova/tests/objects/test_objects.py", line 19, in <module>
    import mock

跑test_server_start_stop.py这个用例,5个用例报
AttributeError: 'pysqlite2.dbapi2.Connection' object has no attribute 'iterdump'
[root@devstack]# rpm -qa |grep sqlite
sqlite-3.6.20-1.el6.x86_64
python-sqlite2-2.3.5-2.el6.x86_64

iterdump是在sqlite python version 2.6.才有的,参考
http://docs.python.org/2/library/sqlite3.html
从https://pypi.python.org/pypi/pysqlite下载
需要补充安装yum install sqlite-devel,才能编译python setup.py install

 

0 0
原创粉丝点击