mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-29 12:35:53 +01:00
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)
|
||
|
|
||
|
|