main.py
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:3k
- #Licensed to the Apache Software Foundation (ASF) under one
- #or more contributor license agreements. See the NOTICE file
- #distributed with this work for additional information
- #regarding copyright ownership. The ASF licenses this file
- #to you under the Apache License, Version 2.0 (the
- #"License"); you may not use this file except in compliance
- #with the License. You may obtain a copy of the License at
- # http://www.apache.org/licenses/LICENSE-2.0
- #Unless required by applicable law or agreed to in writing, software
- #distributed under the License is distributed on an "AS IS" BASIS,
- #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- #See the License for the specific language governing permissions and
- #limitations under the License.
- import unittest, os, sys, re
- myPath = os.path.realpath(sys.argv[0])
- rootDirectory = re.sub("/testing/.*", "", myPath)
- testingDir = os.path.join(rootDirectory, "testing")
- sys.path.append(rootDirectory)
- from testing.lib import printSeparator, printLine
- moduleList = []
- allList = []
- excludes = [
- ]
- # Build a module list by scanning through all files in testingDir
- for file in os.listdir(testingDir):
- if(re.search(r".py$", file) and re.search(r"^test", file)):
- # All .py files with names starting in 'test'
- module = re.sub(r"^test","",file)
- module = re.sub(r".py$","",module)
- allList.append(module)
- if module not in excludes:
- moduleList.append(module)
- printLine("All testcases - %s" % allList)
- printLine("Excluding the testcases - %s" % excludes)
- printLine("Executing the testcases - %s" % moduleList)
- testsResult = 0
- # Now import each of these modules and start calling the corresponding
- #testSuite methods
- for moduleBaseName in moduleList:
- try:
- module = "testing.test" + moduleBaseName
- suiteCaller = "Run" + moduleBaseName + "Tests"
- printSeparator()
- printLine("Running %s" % suiteCaller)
- # Import the corresponding test cases module
- imported_module = __import__(module , fromlist=[suiteCaller] )
-
- # Call the corresponding suite method now
- testRes = getattr(imported_module, suiteCaller)()
- testsResult = testsResult + testRes
- printLine("Finished %s. TestSuite Result : %sn" %
- (suiteCaller, testRes))
- except ImportError, i:
- # Failed to import a test module
- printLine(i)
- testsResult = testsResult + 1
- pass
- except AttributeError, n:
- # Failed to get suiteCaller from a test module
- printLine(n)
- testsResult = testsResult + 1
- pass
- except Exception, e:
- # Test module suiteCaller threw some exception
- printLine("%s failed. nReason : %s" % (suiteCaller, e))
- printLine("Skipping %s" % suiteCaller)
- testsResult = testsResult + 1
- pass
- if testsResult != 0:
- printSeparator()
- printLine("Total testcases with failure or error : %s" % testsResult)
- sys.exit(testsResult)