refactor: update Jenkinsfile agents and comment out unused stages

This commit is contained in:
chenhaoran 2025-02-25 16:13:57 +08:00
parent e21116c825
commit 7bbc42aa30
6 changed files with 71 additions and 22 deletions

View File

@ -24,7 +24,7 @@ import platform
import socket
import threading
import importlib
import inspect
import toml
from frame.log import *
@ -56,6 +56,17 @@ def checkRunTimeError():
if hwnd:
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
#
@ -66,9 +77,9 @@ def runOnPreviousCluster(host, config, fileName):
sep = "/"
if platform.system().lower() == 'windows':
sep = os.sep
moduleName = fileName.replace(".py", "").replace(sep, ".")
uModule = importlib.import_module(moduleName)
case = uModule.TDTestCase()
uModule = dynamicLoadModule(fileName)
case_class = getattr(uModule, get_local_classes(uModule)[-1])
case = case_class()
# create conn
conn = taos.connect(host, config)
@ -361,7 +372,8 @@ if __name__ == "__main__":
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
uModule = importlib.import_module(moduleName)
try:
ucase = uModule.TDTestCase()
case_class = getattr(uModule, get_local_classes(uModule)[-1])
ucase = case_class()
if ((json.dumps(updateCfgDict) == '{}') and hasattr(ucase, 'updatecfgDict')):
updateCfgDict = ucase.updatecfgDict
updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode()
@ -533,7 +545,8 @@ if __name__ == "__main__":
moduleName = fileName.replace(".py", "").replace("/", ".")
uModule = importlib.import_module(moduleName)
try:
ucase = uModule.TDTestCase()
case_class = getattr(uModule, get_local_classes(uModule)[-1])
ucase = case_class()
if (json.dumps(updateCfgDict) == '{}'):
updateCfgDict = ucase.updatecfgDict
if (json.dumps(adapter_cfg_dict) == '{}'):

View File

@ -298,7 +298,8 @@ if __name__ == "__main__":
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
uModule = importlib.import_module(moduleName)
try:
ucase = uModule.TDTestCase()
case_class = getattr(uModule, get_local_classes(uModule)[-1])
ucase = case_class()
if (json.dumps(updateCfgDict) == "{}") and hasattr(
ucase, "updatecfgDict"
):
@ -437,7 +438,8 @@ if __name__ == "__main__":
moduleName = fileName.replace(".py", "").replace("/", ".")
uModule = importlib.import_module(moduleName)
try:
ucase = uModule.TDTestCase()
case_class = getattr(uModule, get_local_classes(uModule)[-1])
ucase = case_class()
if json.dumps(updateCfgDict) == "{}":
updateCfgDict = ucase.updatecfgDict
if json.dumps(adapter_cfg_dict) == "{}":

View File

@ -26,6 +26,17 @@ from util.cases import *
import taos
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__":
fileName = "all"

View File

@ -51,6 +51,13 @@ class TDCases:
def addCluster(self, 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):
# TODO: load all Linux cases here
runNum = 0
@ -71,7 +78,10 @@ class TDCases:
runNum = 0
for tmp in self.linuxCases:
if tmp.name.find(fileName) != -1:
case = testModule.TDTestCase()
# get the last class name as the test case class name
case_class = getattr(testModule, self.get_local_classes(testModule)[-1])
print(case_class)
case = case_class()
case.init(conn, self._logSql, replicaVar)
try:
case.run()
@ -103,7 +113,9 @@ class TDCases:
runNum = 0
for tmp in self.windowsCases:
if tmp.name.find(fileName) != -1:
case = testModule.TDTestCase()
# get the last class name as the test case class name
case_class = getattr(testModule, self.get_local_classes(testModule)[-1])
case = case_class()
case.init(conn, self._logSql,replicaVar)
try:
case.run()
@ -117,12 +129,15 @@ class TDCases:
def runAllCluster(self):
# TODO: load all cluster case module here
testModule = self.__dynamicLoadModule(fileName)
runNum = 0
for tmp in self.clusterCases:
if tmp.name.find(fileName) != -1:
tdLog.notice("run cases like %s" % (fileName))
case = testModule.TDTestCase()
# get the last class name as the test case class name
case_class = getattr(testModule, self.get_local_classes(testModule)[-1])
case = case_class()
case.init()
case.run()
case.stop()
@ -138,7 +153,9 @@ class TDCases:
for tmp in self.clusterCases:
if tmp.name.find(fileName) != -1:
tdLog.notice("run cases like %s" % (fileName))
case = testModule.TDTestCase()
# get the last class name as the test case class name
case_class = getattr(testModule, self.get_local_classes(testModule)[-1])
case = case_class()
case.init()
case.run()
case.stop()

View File

@ -68,9 +68,10 @@ def runOnPreviousCluster(host, config, fileName):
sep = "/"
if platform.system().lower() == 'windows':
sep = os.sep
moduleName = fileName.replace(".py", "").replace(sep, ".")
uModule = importlib.import_module(moduleName)
case = uModule.TDTestCase()
uModule = dynamicLoadModule(fileName)
case_class = getattr(uModule, get_local_classes(uModule)[-1])
case = case_class()
# create conn
conn = taos.connect(host, config)
@ -353,7 +354,8 @@ if __name__ == "__main__":
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
uModule = importlib.import_module(moduleName)
try:
ucase = uModule.TDTestCase()
case_class = getattr(uModule, get_local_classes(uModule)[-1])
ucase = case_class()
if ((json.dumps(updateCfgDict) == '{}') and hasattr(ucase, 'updatecfgDict')):
updateCfgDict = ucase.updatecfgDict
updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode()
@ -525,7 +527,8 @@ if __name__ == "__main__":
moduleName = fileName.replace(".py", "").replace("/", ".")
uModule = importlib.import_module(moduleName)
try:
ucase = uModule.TDTestCase()
case_class = getattr(uModule, get_local_classes(uModule)[-1])
ucase = case_class()
if (json.dumps(updateCfgDict) == '{}'):
updateCfgDict = ucase.updatecfgDict
if (json.dumps(adapter_cfg_dict) == '{}'):

View File

@ -68,9 +68,10 @@ def runOnPreviousCluster(host, config, fileName):
sep = "/"
if platform.system().lower() == 'windows':
sep = os.sep
moduleName = fileName.replace(".py", "").replace(sep, ".")
uModule = importlib.import_module(moduleName)
case = uModule.TDTestCase()
uModule = dynamicLoadModule(fileName)
case_class = getattr(uModule, get_local_classes(uModule)[-1])
case = case_class()
# create conn
conn = taos.connect(host, config)
@ -353,7 +354,8 @@ if __name__ == "__main__":
moduleName = fileName.replace(".py", "").replace(os.sep, ".")
uModule = importlib.import_module(moduleName)
try:
ucase = uModule.TDTestCase()
case_class = getattr(uModule, get_local_classes(uModule)[-1])
ucase = case_class()
if ((json.dumps(updateCfgDict) == '{}') and hasattr(ucase, 'updatecfgDict')):
updateCfgDict = ucase.updatecfgDict
updateCfgDictStr = "-d %s"%base64.b64encode(json.dumps(updateCfgDict).encode()).decode()
@ -525,7 +527,8 @@ if __name__ == "__main__":
moduleName = fileName.replace(".py", "").replace("/", ".")
uModule = importlib.import_module(moduleName)
try:
ucase = uModule.TDTestCase()
case_class = getattr(uModule, get_local_classes(uModule)[-1])
ucase = case_class()
if (json.dumps(updateCfgDict) == '{}'):
updateCfgDict = ucase.updatecfgDict
if (json.dumps(adapter_cfg_dict) == '{}'):