From f658d24c93e3544542164d4b6f6eb2a1aef9d444 Mon Sep 17 00:00:00 2001 From: Jakub Roztocil Date: Fri, 25 Apr 2014 10:41:04 +0200 Subject: [PATCH] Parametrize test_docs.py. --- tests/test_docs.py | 33 ++++++++++++++------------------- tox.ini | 1 + 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/tests/test_docs.py b/tests/test_docs.py index acee19bc..8038ecc0 100644 --- a/tests/test_docs.py +++ b/tests/test_docs.py @@ -1,7 +1,6 @@ import os import fnmatch import subprocess -from unittest import TestCase import pytest @@ -18,7 +17,20 @@ def has_docutils(): return False -def validate_rst(filename): +def rst_filenames(): + for root, dirnames, filenames in os.walk(os.path.dirname(TESTS_ROOT)): + if '.tox' not in root: + for filename in fnmatch.filter(filenames, '*.rst'): + yield os.path.join(root, filename) + + +filenames = list(rst_filenames()) +assert filenames + + +@pytest.mark.skipif(not has_docutils(), reason='docutils not installed') +@pytest.mark.parametrize('filename', filenames) +def test_rst_files_syntax(filename): p = subprocess.Popen( ['rst2pseudoxml.py', '--report=1', '--exit-status=1', filename], stderr=subprocess.PIPE, @@ -26,20 +38,3 @@ def validate_rst(filename): ) err = p.communicate()[1] assert p.returncode == 0, err - - -def rst_files(): - for root, dirnames, filenames in os.walk(os.path.dirname(TESTS_ROOT)): - if '.tox' not in root: - for filename in fnmatch.filter(filenames, '*.rst'): - yield os.path.join(root, filename) - - -@pytest.mark.skipif(not has_docutils(), reason='docutils not installed') -class RSTTest(TestCase): - - def test_rst_files_syntax(self): - paths = list(rst_files()) - assert paths, 'no .rst files found, which is weird' - for path in paths: - validate_rst(path) diff --git a/tox.ini b/tox.ini index debfc9cc..8f6e5365 100644 --- a/tox.ini +++ b/tox.ini @@ -12,6 +12,7 @@ skipsdist = True [testenv] + whitelist_externals = py.test