xref: /aosp_15_r20/external/capstone/suite/regress/regress.py (revision 9a0e4156d50a75a99ec4f1653a0e9602a5d45c18)
1*9a0e4156SSadaf Ebrahimi#!/usr/bin/python
2*9a0e4156SSadaf Ebrahimi
3*9a0e4156SSadaf Ebrahimiimport unittest
4*9a0e4156SSadaf Ebrahimi
5*9a0e4156SSadaf Ebrahimifrom os.path import dirname, basename, isfile
6*9a0e4156SSadaf Ebrahimiimport glob
7*9a0e4156SSadaf Ebrahimi
8*9a0e4156SSadaf Ebrahimi# Find all unittest type in this directory and run it.
9*9a0e4156SSadaf Ebrahimi
10*9a0e4156SSadaf Ebrahimiclass RegressTest(unittest.TestCase):
11*9a0e4156SSadaf Ebrahimi    pass
12*9a0e4156SSadaf Ebrahimi
13*9a0e4156SSadaf Ebrahimidef main():
14*9a0e4156SSadaf Ebrahimi    unittest.main()
15*9a0e4156SSadaf Ebrahimi
16*9a0e4156SSadaf Ebrahimiif __name__ == '__main__':
17*9a0e4156SSadaf Ebrahimi    directory = dirname(__file__)
18*9a0e4156SSadaf Ebrahimi    if directory == '':
19*9a0e4156SSadaf Ebrahimi        directory = '.'
20*9a0e4156SSadaf Ebrahimi    modules = glob.glob(directory+"/*.py")
21*9a0e4156SSadaf Ebrahimi    __all__ = [ basename(f)[:-3] for f in modules if isfile(f)]
22*9a0e4156SSadaf Ebrahimi    suite = unittest.TestSuite()
23*9a0e4156SSadaf Ebrahimi
24*9a0e4156SSadaf Ebrahimi    for module in __all__:
25*9a0e4156SSadaf Ebrahimi        m = __import__(module)
26*9a0e4156SSadaf Ebrahimi        for cl in dir(m):
27*9a0e4156SSadaf Ebrahimi            try:
28*9a0e4156SSadaf Ebrahimi                realcl = getattr(m,cl)
29*9a0e4156SSadaf Ebrahimi                if issubclass(realcl, unittest.TestCase):
30*9a0e4156SSadaf Ebrahimi                    suite.addTest(realcl())
31*9a0e4156SSadaf Ebrahimi            except Exception as e:
32*9a0e4156SSadaf Ebrahimi                pass
33*9a0e4156SSadaf Ebrahimi
34*9a0e4156SSadaf Ebrahimi    unittest.TextTestRunner().run(suite)
35