mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-23 11:35:19 +01:00
7c0aa811ec
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
69 lines
1.8 KiB
Python
69 lines
1.8 KiB
Python
## @file
|
|
# Unit tests for checking syntax of Python source code
|
|
#
|
|
# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
|
|
##
|
|
# Import Modules
|
|
#
|
|
import os
|
|
import unittest
|
|
import py_compile
|
|
|
|
import TestTools
|
|
|
|
class Tests(TestTools.BaseToolsTest):
|
|
|
|
def setUp(self):
|
|
TestTools.BaseToolsTest.setUp(self)
|
|
|
|
def SingleFileTest(self, filename):
|
|
try:
|
|
py_compile.compile(filename, doraise=True)
|
|
except Exception as e:
|
|
self.fail('syntax error: %s, Error is %s' % (filename, str(e)))
|
|
|
|
def MakePythonSyntaxCheckTests():
|
|
def GetAllPythonSourceFiles():
|
|
pythonSourceFiles = []
|
|
for (root, dirs, files) in os.walk(TestTools.PythonSourceDir):
|
|
for filename in files:
|
|
if filename.lower().endswith('.py'):
|
|
pythonSourceFiles.append(
|
|
os.path.join(root, filename)
|
|
)
|
|
return pythonSourceFiles
|
|
|
|
def MakeTestName(filename):
|
|
assert filename.lower().endswith('.py')
|
|
name = filename[:-3]
|
|
name = name.replace(TestTools.PythonSourceDir, '')
|
|
name = name.replace(os.path.sep, '_')
|
|
return 'test' + name
|
|
|
|
def MakeNewTest(filename):
|
|
test = MakeTestName(filename)
|
|
newmethod = lambda self: self.SingleFileTest(filename)
|
|
setattr(
|
|
Tests,
|
|
test,
|
|
newmethod
|
|
)
|
|
|
|
for filename in GetAllPythonSourceFiles():
|
|
MakeNewTest(filename)
|
|
|
|
MakePythonSyntaxCheckTests()
|
|
del MakePythonSyntaxCheckTests
|
|
|
|
TheTestSuite = TestTools.MakeTheTestSuite(locals())
|
|
|
|
if __name__ == '__main__':
|
|
allTests = TheTestSuite()
|
|
unittest.TextTestRunner().run(allTests)
|
|
|
|
|