-from distutils.core import Command
-from unittest import TextTestRunner, TestLoader
-from glob import glob
-from os.path import dirname, join, realpath, splitext, basename, walk
-from os import listdir
-import codecs
-
-class AutoTestMetaclass(type):
-
- def __new__(cls, name, bases, class_dict):
- test_dir = class_dict.pop('TEST_DIR')
- path = realpath( join(dirname(__file__), 'files', test_dir) )
-
- for file in listdir(path):
- base, ext = splitext(file)
- if ext != '.xml':
- continue
-
- class_dict['test_'+base] = cls.make_test_runner(base, \
- join(path, base +'.xml'), join(path, base + '.out') )
-
- return type.__new__(cls, name, bases, class_dict)
-
- @staticmethod
- def make_test_runner(name, inputf, outputf):
- def runner(self):
- with open(inputf, 'rb') as ifd:
- with codecs.open(outputf, 'rb', encoding='utf-8') as ofd:
- self.run_auto_test(ifd.read(), ofd.read())
- return runner
-
-
-def get_file_path(dir_name, file_name):
- return realpath(join(dirname(__file__), 'files', dir_name, file_name))
-
-class TestCommand(Command):
- user_options = []