#!/usr/bin/python
# -*- coding: UTF-8 -*-
import doctest
import unittest
import os

flags = (doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE |
         doctest.REPORT_ONLY_FIRST_FAILURE)

def getTextFiles(path):
    """grab all text files and return a list of absolute paths"""
    textfiles = []
    for root, dirs, files in os.walk(path):
        for filename in files:
            if not filename.endswith('.txt'):
                continue
            textfiles.append(os.path.realpath(os.path.join(root, filename)))
    return textfiles
    
def test_suite():
    suite = []
    path = os.path.dirname(__file__)
    if path == '':
        path = '.'
    for testfile in getTextFiles(path):
        suite.append(doctest.DocFileTest(testfile, optionflags=flags,
                                         module_relative=False))
    return unittest.TestSuite(suite)

if __name__ == '__main__':
    unittest.main(defaultTest='test_suite')
    
