Fixed test_plugins_index to work on python 2.6

- Expected and obtained modules now use .rst to avoid being picked as doctests
- Fixed test_plugins_index.expected to use the real py.test version
This commit is contained in:
Bruno Oliveira 2013-12-17 19:14:57 -02:00
parent 04118a5761
commit 53a9ee21d4
3 changed files with 11 additions and 11 deletions

View File

@ -61,7 +61,7 @@ def obtain_plugins_table(plugins, client):
ColumnData = namedtuple('ColumnData', 'text link') ColumnData = namedtuple('ColumnData', 'text link')
headers = ['Name', 'Author', 'Downloads', 'Python 2.7', 'Python 3.3', 'Summary'] headers = ['Name', 'Author', 'Downloads', 'Python 2.7', 'Python 3.3', 'Summary']
pytest_version = pytest.__version__ pytest_version = pytest.__version__
print '*** pytest-{} ***'.format(pytest_version) print '*** pytest-{0} ***'.format(pytest_version)
plugins = list(plugins) plugins = list(plugins)
for index, (package_name, version) in enumerate(plugins): for index, (package_name, version) in enumerate(plugins):
print package_name, version, '...', print package_name, version, '...',
@ -127,13 +127,13 @@ def generate_plugins_index_from_table(filename, headers, rows):
# table # table
print >> f, get_row_limiter('=') print >> f, get_row_limiter('=')
for i, header in enumerate(headers): for i, header in enumerate(headers):
print >> f, '{:^{fill}}'.format(header, fill=column_lengths[i]), print >> f, '{0:^{fill}}'.format(header, fill=column_lengths[i]),
print >> f print >> f
print >> f, get_row_limiter('=') print >> f, get_row_limiter('=')
for column_texts in table_texts: for column_texts in table_texts:
for i, row_text in enumerate(column_texts): for i, row_text in enumerate(column_texts):
print >> f, '{:^{fill}}'.format(row_text, fill=column_lengths[i]), print >> f, '{0:^{fill}}'.format(row_text, fill=column_lengths[i]),
print >> f print >> f
print >> f print >> f
print >> f, get_row_limiter('=') print >> f, get_row_limiter('=')

View File

@ -6,8 +6,8 @@ List of Third-Party Plugins
============================================ ============================= ========= ============================================================================================= ============================================================================================= =================== ============================================ ============================= ========= ============================================================================================= ============================================================================================= ===================
Name Author Downloads Python 2.7 Python 3.3 Summary Name Author Downloads Python 2.7 Python 3.3 Summary
============================================ ============================= ========= ============================================================================================= ============================================================================================= =================== ============================================ ============================= ========= ============================================================================================= ============================================================================================= ===================
`pytest-plugin1-1.0 <http://plugin1/1.0>`_ `someone <someone@py.com>`_ 4 .. image:: http://pytest-plugs.herokuapp.com/status/pytest-plugin1-1.0?py=py27&pytest=2.5.0 .. image:: http://pytest-plugs.herokuapp.com/status/pytest-plugin1-1.0?py=py33&pytest=2.5.0 some plugin `pytest-plugin1-1.0 <http://plugin1/1.0>`_ `someone <someone@py.com>`_ 4 .. image:: http://pytest-plugs.herokuapp.com/status/pytest-plugin1-1.0?py=py27&pytest=2.X.Y .. image:: http://pytest-plugs.herokuapp.com/status/pytest-plugin1-1.0?py=py33&pytest=2.X.Y some plugin
`pytest-plugin2-1.2 <http://plugin2/1.2>`_ `other <other@py.com>`_ 40 .. image:: http://pytest-plugs.herokuapp.com/status/pytest-plugin2-1.2?py=py27&pytest=2.5.0 .. image:: http://pytest-plugs.herokuapp.com/status/pytest-plugin2-1.2?py=py33&pytest=2.5.0 some other plugin `pytest-plugin2-1.2 <http://plugin2/1.2>`_ `other <other@py.com>`_ 40 .. image:: http://pytest-plugs.herokuapp.com/status/pytest-plugin2-1.2?py=py27&pytest=2.X.Y .. image:: http://pytest-plugs.herokuapp.com/status/pytest-plugin2-1.2?py=py33&pytest=2.X.Y some other plugin
============================================ ============================= ========= ============================================================================================= ============================================================================================= =================== ============================================ ============================= ========= ============================================================================================= ============================================================================================= ===================

View File

@ -14,9 +14,9 @@ def test_plugins_index(tmpdir, monkeypatch):
Blackbox testing for plugins_index script. Calls main() generating a file and compares produced Blackbox testing for plugins_index script. Calls main() generating a file and compares produced
output to expected. output to expected.
.. note:: if the test fails, a file named `test_plugins_index.obtained` will be generated in .. note:: if the test fails, a file named `test_plugins_index.obtained.rst` will be generated in
the same directory as this test file. Ensure the contents are correct and overwrite the same directory as this test file. Ensure the contents are correct and overwrite
the global `expected_output` with the new contents. `test_plugins_index.expected.rst` with that file.
''' '''
import plugins_index import plugins_index
@ -60,7 +60,7 @@ def test_plugins_index(tmpdir, monkeypatch):
monkeypatch.setattr(xmlrpclib, 'ServerProxy', DummyProxy, 'foo') monkeypatch.setattr(xmlrpclib, 'ServerProxy', DummyProxy, 'foo')
monkeypatch.setattr(plugins_index, '_get_today_as_str', lambda: '2013-10-20') monkeypatch.setattr(plugins_index, '_get_today_as_str', lambda: '2013-10-20')
output_file = str(tmpdir.join('output.txt')) output_file = str(tmpdir.join('output.rst'))
assert plugins_index.main(['', '-f', output_file, '-u', DummyProxy.expected_url]) == 0 assert plugins_index.main(['', '-f', output_file, '-u', DummyProxy.expected_url]) == 0
with file(output_file, 'rU') as f: with file(output_file, 'rU') as f:
@ -68,7 +68,7 @@ def test_plugins_index(tmpdir, monkeypatch):
expected_output = get_expected_output() expected_output = get_expected_output()
if obtained_output != expected_output: if obtained_output != expected_output:
obtained_file = os.path.splitext(__file__)[0] + '.obtained.txt' obtained_file = os.path.splitext(__file__)[0] + '.obtained.rst'
with file(obtained_file, 'w') as f: with file(obtained_file, 'w') as f:
f.write(obtained_output) f.write(obtained_output)
@ -79,9 +79,9 @@ def get_expected_output():
""" """
:return: string with expected rst output from the plugins_index.py script. :return: string with expected rst output from the plugins_index.py script.
""" """
expected_filename = os.path.join(os.path.dirname(__file__), 'test_plugins_index.expected.txt') expected_filename = os.path.join(os.path.dirname(__file__), 'test_plugins_index.expected.rst')
expected_output = open(expected_filename, 'rU').read() expected_output = open(expected_filename, 'rU').read()
return expected_output.replace('pytest=2.X.Y', 'pytest={}'.format(pytest.__version__)) return expected_output.replace('pytest=2.X.Y', 'pytest={0}'.format(pytest.__version__))
#=================================================================================================== #===================================================================================================