Revert "refactor: implement dynamic loading of test case classes"
This commit is contained in:
parent
aa33cf7456
commit
0e9319ef69
|
@ -24,7 +24,6 @@ import platform
|
||||||
import socket
|
import socket
|
||||||
import threading
|
import threading
|
||||||
import importlib
|
import importlib
|
||||||
import inspect
|
|
||||||
|
|
||||||
import toml
|
import toml
|
||||||
|
|
||||||
|
@ -57,17 +56,6 @@ def checkRunTimeError():
|
||||||
if hwnd:
|
if hwnd:
|
||||||
os.system("TASKKILL /F /IM taosd.exe")
|
os.system("TASKKILL /F /IM taosd.exe")
|
||||||
|
|
||||||
def get_local_classes(module):
|
|
||||||
classes = []
|
|
||||||
for name, obj in inspect.getmembers(module, inspect.isclass):
|
|
||||||
if inspect.getmodule(obj) == module:
|
|
||||||
classes.append(name)
|
|
||||||
return classes
|
|
||||||
|
|
||||||
def dynamicLoadModule(fileName):
|
|
||||||
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
|
|
||||||
return importlib.import_module(moduleName, package='..')
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# run case on previous cluster
|
# run case on previous cluster
|
||||||
#
|
#
|
||||||
|
@ -78,9 +66,9 @@ def runOnPreviousCluster(host, config, fileName):
|
||||||
sep = "/"
|
sep = "/"
|
||||||
if platform.system().lower() == 'windows':
|
if platform.system().lower() == 'windows':
|
||||||
sep = os.sep
|
sep = os.sep
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace(sep, ".")
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
uModule = importlib.import_module(moduleName)
|
||||||
case = case_class()
|
case = uModule.TDTestCase()
|
||||||
|
|
||||||
# create conn
|
# create conn
|
||||||
conn = taos.connect(host, config)
|
conn = taos.connect(host, config)
|
||||||
|
@ -370,10 +358,10 @@ if __name__ == "__main__":
|
||||||
updateCfgDictStr = ''
|
updateCfgDictStr = ''
|
||||||
# adapter_cfg_dict_str = ''
|
# adapter_cfg_dict_str = ''
|
||||||
if is_test_framework:
|
if is_test_framework:
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
|
||||||
|
uModule = importlib.import_module(moduleName)
|
||||||
try:
|
try:
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
ucase = uModule.TDTestCase()
|
||||||
ucase = case_class()
|
|
||||||
if ((json.dumps(updateCfgDict) == '{}') and hasattr(ucase, 'updatecfgDict')):
|
if ((json.dumps(updateCfgDict) == '{}') and hasattr(ucase, 'updatecfgDict')):
|
||||||
updateCfgDict = ucase.updatecfgDict
|
updateCfgDict = ucase.updatecfgDict
|
||||||
updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode()
|
updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode()
|
||||||
|
@ -542,10 +530,10 @@ if __name__ == "__main__":
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
if is_test_framework:
|
if is_test_framework:
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace("/", ".")
|
||||||
|
uModule = importlib.import_module(moduleName)
|
||||||
try:
|
try:
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
ucase = uModule.TDTestCase()
|
||||||
ucase = case_class()
|
|
||||||
if (json.dumps(updateCfgDict) == '{}'):
|
if (json.dumps(updateCfgDict) == '{}'):
|
||||||
updateCfgDict = ucase.updatecfgDict
|
updateCfgDict = ucase.updatecfgDict
|
||||||
if (json.dumps(adapter_cfg_dict) == '{}'):
|
if (json.dumps(adapter_cfg_dict) == '{}'):
|
||||||
|
|
|
@ -22,9 +22,6 @@ import json
|
||||||
import platform
|
import platform
|
||||||
import socket
|
import socket
|
||||||
import threading
|
import threading
|
||||||
import inspect
|
|
||||||
import importlib
|
|
||||||
import os
|
|
||||||
|
|
||||||
import toml
|
import toml
|
||||||
|
|
||||||
|
@ -60,17 +57,6 @@ def checkRunTimeError():
|
||||||
os.system("TASKKILL /F /IM taosd.exe")
|
os.system("TASKKILL /F /IM taosd.exe")
|
||||||
|
|
||||||
|
|
||||||
def get_local_classes(module):
|
|
||||||
classes = []
|
|
||||||
for name, obj in inspect.getmembers(module, inspect.isclass):
|
|
||||||
if inspect.getmodule(obj) == module:
|
|
||||||
classes.append(name)
|
|
||||||
return classes
|
|
||||||
|
|
||||||
def dynamicLoadModule(fileName):
|
|
||||||
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
|
|
||||||
return importlib.import_module(moduleName, package='..')
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
||||||
fileName = "all"
|
fileName = "all"
|
||||||
|
@ -309,10 +295,10 @@ if __name__ == "__main__":
|
||||||
updateCfgDictStr = ""
|
updateCfgDictStr = ""
|
||||||
# adapter_cfg_dict_str = ''
|
# adapter_cfg_dict_str = ''
|
||||||
if is_test_framework:
|
if is_test_framework:
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
|
||||||
|
uModule = importlib.import_module(moduleName)
|
||||||
try:
|
try:
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
ucase = uModule.TDTestCase()
|
||||||
ucase = case_class()
|
|
||||||
if (json.dumps(updateCfgDict) == "{}") and hasattr(
|
if (json.dumps(updateCfgDict) == "{}") and hasattr(
|
||||||
ucase, "updatecfgDict"
|
ucase, "updatecfgDict"
|
||||||
):
|
):
|
||||||
|
@ -448,10 +434,10 @@ if __name__ == "__main__":
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
if is_test_framework:
|
if is_test_framework:
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace("/", ".")
|
||||||
|
uModule = importlib.import_module(moduleName)
|
||||||
try:
|
try:
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
ucase = uModule.TDTestCase()
|
||||||
ucase = case_class()
|
|
||||||
if json.dumps(updateCfgDict) == "{}":
|
if json.dumps(updateCfgDict) == "{}":
|
||||||
updateCfgDict = ucase.updatecfgDict
|
updateCfgDict = ucase.updatecfgDict
|
||||||
if json.dumps(adapter_cfg_dict) == "{}":
|
if json.dumps(adapter_cfg_dict) == "{}":
|
||||||
|
|
|
@ -51,13 +51,6 @@ class TDCases:
|
||||||
def addCluster(self, name, case):
|
def addCluster(self, name, case):
|
||||||
self.clusterCases.append(TDCase(name, case))
|
self.clusterCases.append(TDCase(name, case))
|
||||||
|
|
||||||
def get_local_classes(self, module):
|
|
||||||
classes = []
|
|
||||||
for name, obj in inspect.getmembers(module, inspect.isclass):
|
|
||||||
if inspect.getmodule(obj) == module:
|
|
||||||
classes.append(name)
|
|
||||||
return classes
|
|
||||||
|
|
||||||
def runAllLinux(self, conn):
|
def runAllLinux(self, conn):
|
||||||
# TODO: load all Linux cases here
|
# TODO: load all Linux cases here
|
||||||
runNum = 0
|
runNum = 0
|
||||||
|
@ -78,10 +71,7 @@ class TDCases:
|
||||||
runNum = 0
|
runNum = 0
|
||||||
for tmp in self.linuxCases:
|
for tmp in self.linuxCases:
|
||||||
if tmp.name.find(fileName) != -1:
|
if tmp.name.find(fileName) != -1:
|
||||||
# get the last class name as the test case class name
|
case = testModule.TDTestCase()
|
||||||
case_class = getattr(testModule, self.get_local_classes(testModule)[0])
|
|
||||||
|
|
||||||
case = case_class()
|
|
||||||
case.init(conn, self._logSql, replicaVar)
|
case.init(conn, self._logSql, replicaVar)
|
||||||
try:
|
try:
|
||||||
case.run()
|
case.run()
|
||||||
|
@ -113,9 +103,7 @@ class TDCases:
|
||||||
runNum = 0
|
runNum = 0
|
||||||
for tmp in self.windowsCases:
|
for tmp in self.windowsCases:
|
||||||
if tmp.name.find(fileName) != -1:
|
if tmp.name.find(fileName) != -1:
|
||||||
# get the last class name as the test case class name
|
case = testModule.TDTestCase()
|
||||||
case_class = getattr(testModule, self.get_local_classes(testModule)[0])
|
|
||||||
case = case_class()
|
|
||||||
case.init(conn, self._logSql,replicaVar)
|
case.init(conn, self._logSql,replicaVar)
|
||||||
try:
|
try:
|
||||||
case.run()
|
case.run()
|
||||||
|
@ -129,15 +117,12 @@ class TDCases:
|
||||||
|
|
||||||
def runAllCluster(self):
|
def runAllCluster(self):
|
||||||
# TODO: load all cluster case module here
|
# TODO: load all cluster case module here
|
||||||
testModule = self.__dynamicLoadModule(fileName)
|
|
||||||
|
|
||||||
runNum = 0
|
runNum = 0
|
||||||
for tmp in self.clusterCases:
|
for tmp in self.clusterCases:
|
||||||
if tmp.name.find(fileName) != -1:
|
if tmp.name.find(fileName) != -1:
|
||||||
tdLog.notice("run cases like %s" % (fileName))
|
tdLog.notice("run cases like %s" % (fileName))
|
||||||
# get the last class name as the test case class name
|
case = testModule.TDTestCase()
|
||||||
case_class = getattr(testModule, self.get_local_classes(testModule)[0])
|
|
||||||
case = case_class()
|
|
||||||
case.init()
|
case.init()
|
||||||
case.run()
|
case.run()
|
||||||
case.stop()
|
case.stop()
|
||||||
|
@ -153,9 +138,7 @@ class TDCases:
|
||||||
for tmp in self.clusterCases:
|
for tmp in self.clusterCases:
|
||||||
if tmp.name.find(fileName) != -1:
|
if tmp.name.find(fileName) != -1:
|
||||||
tdLog.notice("run cases like %s" % (fileName))
|
tdLog.notice("run cases like %s" % (fileName))
|
||||||
# get the last class name as the test case class name
|
case = testModule.TDTestCase()
|
||||||
case_class = getattr(testModule, self.get_local_classes(testModule)[0])
|
|
||||||
case = case_class()
|
|
||||||
case.init()
|
case.init()
|
||||||
case.run()
|
case.run()
|
||||||
case.stop()
|
case.stop()
|
||||||
|
|
|
@ -24,7 +24,6 @@ import platform
|
||||||
import socket
|
import socket
|
||||||
import threading
|
import threading
|
||||||
import importlib
|
import importlib
|
||||||
import inspect
|
|
||||||
print(f"Python version: {sys.version}")
|
print(f"Python version: {sys.version}")
|
||||||
print(f"Version info: {sys.version_info}")
|
print(f"Version info: {sys.version_info}")
|
||||||
|
|
||||||
|
@ -59,16 +58,6 @@ def checkRunTimeError():
|
||||||
if hwnd:
|
if hwnd:
|
||||||
os.system("TASKKILL /F /IM taosd.exe")
|
os.system("TASKKILL /F /IM taosd.exe")
|
||||||
|
|
||||||
def get_local_classes(module):
|
|
||||||
classes = []
|
|
||||||
for name, obj in inspect.getmembers(module, inspect.isclass):
|
|
||||||
if inspect.getmodule(obj) == module:
|
|
||||||
classes.append(name)
|
|
||||||
return classes
|
|
||||||
|
|
||||||
def dynamicLoadModule(fileName):
|
|
||||||
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
|
|
||||||
return importlib.import_module(moduleName, package='..')
|
|
||||||
#
|
#
|
||||||
# run case on previous cluster
|
# run case on previous cluster
|
||||||
#
|
#
|
||||||
|
@ -79,10 +68,9 @@ def runOnPreviousCluster(host, config, fileName):
|
||||||
sep = "/"
|
sep = "/"
|
||||||
if platform.system().lower() == 'windows':
|
if platform.system().lower() == 'windows':
|
||||||
sep = os.sep
|
sep = os.sep
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace(sep, ".")
|
||||||
|
uModule = importlib.import_module(moduleName)
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
case = uModule.TDTestCase()
|
||||||
case = case_class()
|
|
||||||
|
|
||||||
# create conn
|
# create conn
|
||||||
conn = taos.connect(host, config)
|
conn = taos.connect(host, config)
|
||||||
|
@ -362,10 +350,10 @@ if __name__ == "__main__":
|
||||||
updateCfgDictStr = ''
|
updateCfgDictStr = ''
|
||||||
# adapter_cfg_dict_str = ''
|
# adapter_cfg_dict_str = ''
|
||||||
if is_test_framework:
|
if is_test_framework:
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
|
||||||
|
uModule = importlib.import_module(moduleName)
|
||||||
try:
|
try:
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
ucase = uModule.TDTestCase()
|
||||||
ucase = case_class()
|
|
||||||
if ((json.dumps(updateCfgDict) == '{}') and hasattr(ucase, 'updatecfgDict')):
|
if ((json.dumps(updateCfgDict) == '{}') and hasattr(ucase, 'updatecfgDict')):
|
||||||
updateCfgDict = ucase.updatecfgDict
|
updateCfgDict = ucase.updatecfgDict
|
||||||
updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode()
|
updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode()
|
||||||
|
@ -534,10 +522,10 @@ if __name__ == "__main__":
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
if is_test_framework:
|
if is_test_framework:
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace("/", ".")
|
||||||
|
uModule = importlib.import_module(moduleName)
|
||||||
try:
|
try:
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
ucase = uModule.TDTestCase()
|
||||||
ucase = case_class()
|
|
||||||
if (json.dumps(updateCfgDict) == '{}'):
|
if (json.dumps(updateCfgDict) == '{}'):
|
||||||
updateCfgDict = ucase.updatecfgDict
|
updateCfgDict = ucase.updatecfgDict
|
||||||
if (json.dumps(adapter_cfg_dict) == '{}'):
|
if (json.dumps(adapter_cfg_dict) == '{}'):
|
||||||
|
|
|
@ -24,7 +24,6 @@ import platform
|
||||||
import socket
|
import socket
|
||||||
import threading
|
import threading
|
||||||
import importlib
|
import importlib
|
||||||
import inspect
|
|
||||||
print(f"Python version: {sys.version}")
|
print(f"Python version: {sys.version}")
|
||||||
print(f"Version info: {sys.version_info}")
|
print(f"Version info: {sys.version_info}")
|
||||||
|
|
||||||
|
@ -59,16 +58,6 @@ def checkRunTimeError():
|
||||||
if hwnd:
|
if hwnd:
|
||||||
os.system("TASKKILL /F /IM taosd.exe")
|
os.system("TASKKILL /F /IM taosd.exe")
|
||||||
|
|
||||||
def get_local_classes(module):
|
|
||||||
classes = []
|
|
||||||
for name, obj in inspect.getmembers(module, inspect.isclass):
|
|
||||||
if inspect.getmodule(obj) == module:
|
|
||||||
classes.append(name)
|
|
||||||
return classes
|
|
||||||
|
|
||||||
def dynamicLoadModule(fileName):
|
|
||||||
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
|
|
||||||
return importlib.import_module(moduleName, package='..')
|
|
||||||
#
|
#
|
||||||
# run case on previous cluster
|
# run case on previous cluster
|
||||||
#
|
#
|
||||||
|
@ -79,10 +68,9 @@ def runOnPreviousCluster(host, config, fileName):
|
||||||
sep = "/"
|
sep = "/"
|
||||||
if platform.system().lower() == 'windows':
|
if platform.system().lower() == 'windows':
|
||||||
sep = os.sep
|
sep = os.sep
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace(sep, ".")
|
||||||
|
uModule = importlib.import_module(moduleName)
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
case = uModule.TDTestCase()
|
||||||
case = case_class()
|
|
||||||
|
|
||||||
# create conn
|
# create conn
|
||||||
conn = taos.connect(host, config)
|
conn = taos.connect(host, config)
|
||||||
|
@ -362,10 +350,10 @@ if __name__ == "__main__":
|
||||||
updateCfgDictStr = ''
|
updateCfgDictStr = ''
|
||||||
# adapter_cfg_dict_str = ''
|
# adapter_cfg_dict_str = ''
|
||||||
if is_test_framework:
|
if is_test_framework:
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
|
||||||
|
uModule = importlib.import_module(moduleName)
|
||||||
try:
|
try:
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
ucase = uModule.TDTestCase()
|
||||||
ucase = case_class()
|
|
||||||
if ((json.dumps(updateCfgDict) == '{}') and hasattr(ucase, 'updatecfgDict')):
|
if ((json.dumps(updateCfgDict) == '{}') and hasattr(ucase, 'updatecfgDict')):
|
||||||
updateCfgDict = ucase.updatecfgDict
|
updateCfgDict = ucase.updatecfgDict
|
||||||
updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode()
|
updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode()
|
||||||
|
@ -534,10 +522,10 @@ if __name__ == "__main__":
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
if is_test_framework:
|
if is_test_framework:
|
||||||
uModule = dynamicLoadModule(fileName)
|
moduleName = fileName.replace(".py", "").replace("/", ".")
|
||||||
|
uModule = importlib.import_module(moduleName)
|
||||||
try:
|
try:
|
||||||
case_class = getattr(uModule, get_local_classes(uModule)[0])
|
ucase = uModule.TDTestCase()
|
||||||
ucase = case_class()
|
|
||||||
if (json.dumps(updateCfgDict) == '{}'):
|
if (json.dumps(updateCfgDict) == '{}'):
|
||||||
updateCfgDict = ucase.updatecfgDict
|
updateCfgDict = ucase.updatecfgDict
|
||||||
if (json.dumps(adapter_cfg_dict) == '{}'):
|
if (json.dumps(adapter_cfg_dict) == '{}'):
|
||||||
|
|
Loading…
Reference in New Issue