Add custom_commad to execute arbitrary command in CI

This commit is contained in:
Dhanuja Elizabeth Thomas
2023-02-18 12:06:58 +01:00
committed by Robert Schmidt
parent 2de56bf324
commit 5723e7135f
3 changed files with 25 additions and 0 deletions
+18
View File
@@ -38,6 +38,7 @@ import os
import time
from multiprocessing import Process, Lock, SimpleQueue
import yaml
import cls_cmd
#-----------------------------------------------------------
@@ -96,6 +97,8 @@ class RANManagement():
#checkers from xml
self.ran_checkers={}
self.cmd_prefix = '' # prefix before {lte,nr}-softmodem
self.node = ''
self.command = ''
#-----------------------------------------------------------
@@ -259,6 +262,21 @@ class RANManagement():
mySSH.close()
self.checkBuildeNB(lIpAddr, lUserName, lPassWord, lSourcePath, self.backgroundBuildTestId[int(self.eNB_instance)], HTML)
def CustomCommand(self, HTML):
if self.node == '' or self.node == "localhost":
cmd = cls_cmd.LocalCmd()
else:
cmd = cls_cmd.RemoteCmd(self.node)
ret = cmd.run(self.command)
cmd.close()
logging.debug(f'CustomCommand: {self.command} returnCode: {ret.returncode} output: {ret.stdout}')
html_queue = SimpleQueue()
status = 'OK'
if ret.returncode != 0:
html_queue.put(ret.stdout)
status = 'Warning'
HTML.CreateHtmlTestRow(self.command, status, 1, html_queue)
def checkBuildeNB(self, lIpAddr, lUserName, lPassWord, lSourcePath, testcaseId, HTML):
HTML.testCase_id=testcaseId