# -*- coding: utf-8 -*-

from os import walk
from os.path import abspath, dirname, join

from unittest import TestCase

PATH = abspath(join(dirname(abspath(__file__)), "..", ""))

# needed to register globals
from helper import Stubs

class TestSyntax(TestCase):
    pass


for path, dirs, files in walk(join(PATH, "module")):

    for f in files:
        if not f.endswith(".py") or f.startswith("__"): continue
        fpath = join(path, f)
        pack = fpath.replace(PATH, "")[1:-3] #replace / and  .py
        imp = pack.replace("/", ".")
        packages = imp.split(".")
        #__import__(imp)

        # to much sideeffect when importing
        if "web" in packages or "lib" in packages: continue
        if "ThriftTest" in packages: continue

        # currying
        def meta(imp, sig):
            def _test(self=None):
                __import__(imp)

            _test.func_name = sig
            return _test

        # generate test methods
        sig = "test_%s_%s" % (packages[-2], packages[-1])


        setattr(TestSyntax, sig, meta(imp, sig))