# GrundFunktionen zur Ablaufsteuerung # # -------------------------------------------------------- """ 1. Programm -- implementiert in Main-Klasse 2. Anwndung -- steuert zu pruefende System [ in basis_Config ] 3. application -- steuert zu pruefende Maschine [ in dir/applicationen ] 4. release -- steuert zu prufendes Release [ aus dir/release kann spez. release_Config geladen werden, dir/lauf/release ] 5. ~Verz -- Dokumentationsverzeichnis zu Testlauf/Testfall/Soll-Branch 6. zyklus -- optional unterscheidet echte und entwicklungsLaeufe 7. Programmspezifische Parameter 8. loglevel -- steuert Protokollierung; default debug (fatal/error/warn/msg/info/debug1/debug2/trace1/trace2) 10. Laufart -- steuert die Verarbeitung; default echt - echt-auto Lauf aus Automatisierung (1-7) - test Lauf ohne Ausfuehrungen am Testsystem, wohl aber in Testverzeichnissen - echt-spez Wiederholung einer spezifischen Funktion (1-13) - unit Ausfuehrung der Unittests 11. Modul -- schraenkt Verarbeitung auf parametriserte componenten ein 12. Funktion -- schraenkt Verarbeitung auf parametriserte Funktionen ein 13. Tool -- schraenkt Protokollierung/Verarbeitung auf parametriserte Tools ein """ import basic.program import basic.constants as B import collect_testcase import compare_testcase import execute_testcase import finish_testsuite import init_testcase import init_testsuite import test_executer import utils.path_tool import utils.file_tool import components.utils.job_tool def hasModul(komp): #job = Job.getInstance() return False def hasFunction(fct): #job = Job.getInstance() return False def hasTool(tool): #job = Job.getInstance() return False def createJob(parentJob, jobargs): job = basic.program.Job("temp") # meaning temp job.par.setParameterArgs(job, jobargs) job.startJob() return def startJobProcesses(job): """ function to open processes like db-connection """ components.utils.job_tool.startJobProcesses(job) pass def stopJobProcesses(job): """ function to close processes like db-connection """ components.utils.job_tool.stopJobProcesses(job) pass def startProcess(job, process): print(str(process)) path = utils.path_tool.getActualJsonPath(job) print("------- "+path) utils.file_tool.writeFileDict(job.m, job, path, process) jobargs = {} jobargs[B.PAR_APP] = process["app"] jobargs[B.PAR_ENV] = process["env"] if B.PAR_STEP in process: jobargs[B.PAR_STEP] = process[B.PAR_STEP] if B.PAR_TCDIR in process: jobargs[B.PAR_TCDIR] = process[B.PAR_TCDIR] jobargs[B.PAR_TESTCASE] = process["entity"] elif B.PAR_TSDIR in process: jobargs[B.PAR_TSDIR] = process[B.PAR_TSDIR] jobargs[B.PAR_TESTSUITE] = process["entity"] print("process-programm "+process["program"]) myjob = basic.program.Job(process["program"], jobargs) myjob.startJob() if process["program"] == "init_testcase": init_testcase.startPyJob(myjob) elif process["program"] == "execute_testcase": execute_testcase.startPyJob(myjob) elif process["program"] == "collect_testcase": collect_testcase.startPyJob(myjob) elif process["program"] == "compare_testcase": compare_testcase.startPyJob(myjob) elif process["program"] == "init_testsuite": init_testsuite.startPyJob(myjob) elif process["program"] == "execute_testsuite": print("execute_testsuite.startPyJob(myjob) not implemented") elif process["program"] == "collect_testsuite": print("collect_testsuite.startPyJob(myjob) not implemented") elif process["program"] == "finish_testsuite": finish_testsuite.startPyJob(myjob) elif process["program"] == "test_executer": test_executer.startPyJob(myjob)