44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
import os
|
|
import unittest
|
|
from nose.plugins.doctests import Doctest
|
|
from nose.plugins import PluginTester
|
|
|
|
support = os.path.join(os.path.dirname(__file__), 'support')
|
|
|
|
class TestDoctestPlugin(PluginTester, unittest.TestCase):
|
|
activate = '--with-doctest'
|
|
args = ['-v']
|
|
plugins = [Doctest()]
|
|
suitepath = os.path.join(support, 'dtt')
|
|
|
|
def runTest(self):
|
|
print str(self.output)
|
|
|
|
assert 'Doctest: some_mod ... ok' in self.output
|
|
assert 'Doctest: some_mod.foo ... ok' in self.output
|
|
assert 'Ran 2 tests' in self.output
|
|
assert str(self.output).strip().endswith('OK')
|
|
|
|
|
|
class TestDoctestFiles(PluginTester, unittest.TestCase):
|
|
activate = '--with-doctest'
|
|
args = ['-v', '--doctest-extension=.txt']
|
|
plugins = [Doctest()]
|
|
suitepath = os.path.join(support, 'dtt', 'docs')
|
|
|
|
def runTest(self):
|
|
print str(self.output)
|
|
|
|
expect = [
|
|
'Doctest: doc.txt ... ok',
|
|
'Doctest: errdoc.txt ... FAIL'
|
|
]
|
|
for line in self.output:
|
|
if not line.strip():
|
|
continue
|
|
if line.startswith('='):
|
|
break
|
|
self.assertEqual(line.strip(), expect.pop(0))
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|