2222# THE SOFTWARE.
2323#
2424
25- import os , subprocess ,argparse , glob , sys , shutil
26- from vector .apps .DataAPI .vcproject_api import VCProjectApi
25+ import os , subprocess ,argparse , glob , sys , shutil
2726
2827from managewait import ManageWait
2928
30- import cobertura
31- import generate_lcov
3229import patch_rgw_directory as rgw
3330
3431try :
4138 vc_script = os .path .join (os .environ ['WORKSPACE' ], "vc_scripts" , "generate-results.py" )
4239 import imp
4340 generate_results = imp .load_source ("generate_results" , vc_script )
44-
41+
42+ if sys .version_info [0 ] < 3 :
43+ python_path_updates = os .path .join (os .environ ['VECTORCAST_DIR' ], "DATA" , "python" )
44+ sys .path .append (python_path_updates )
45+
4546try :
46- import vector . apps . parallel . parallel_build_execute as parallel_build_execute
47+ import parallel_build_execute
4748except :
4849 import prevcast_parallel_build_execute as parallel_build_execute
4950
5051from vcast_utils import checkVectorCASTVersion , dump
51- import generate_sonarqube_testresults
5252
5353from enum import Enum
5454
@@ -287,12 +287,15 @@ def runLcovMetrics(self):
287287 print ("XXX Cannot create LCOV metrics. Please upgrade VectorCAST\n " )
288288 else :
289289 print ("Creating LCOV Metrics" )
290+ import generate_lcov
290291 generate_lcov .generateCoverageResults (self .FullMP , self .xml_data_dir , verbose = self .verbose , source_root = self .source_root )
291292
292293 def runCoberturaMetrics (self ):
293294 if not checkVectorCASTVersion (21 ):
294295 print ("Cannot create Cobertura metrics. Please upgrade VectorCAST" )
295296 else :
297+ import cobertura
298+
296299 if self .cobertura_extended :
297300 print ("Creating Extended Cobertura Metrics" )
298301 else :
@@ -306,22 +309,22 @@ def runSonarQubeMetrics(self):
306309 print ("Cannot create SonarQube metrics. Please upgrade VectorCAST" )
307310 else :
308311 print ("Creating SonarQube Metrics" )
312+ import generate_sonarqube_testresults
309313 generate_sonarqube_testresults .run (self .FullMP , self .xml_data_dir )
310314
311315 def runPcLintPlusMetrics (self ):
312316 print ("Creating PC-lint Plus Metrics" )
313- import generate_pclp_reports
314- os . makedirs ( os . path . join ( self . xml_data_dir , "pclp" ) )
315- report_name = os . path . join ( self . xml_data_dir , "pclp" , "gl-code-quality-report.json" )
316- print ( "PC-lint Plus Metrics file: " + report_name )
317- generate_pclp_reports . generate_reports ( self .pclp_input , output_gitlab = report_name )
318-
319- if args . pclp_output_html :
320- if not checkVectorCASTVersion ( 21 ):
321- print ( "Cannot create PC-Lint Plus HTML report. Please upgrade VectorCAST" )
322- else :
317+ if not checkVectorCASTVersion ( 21 ):
318+ print ( "Cannot create PC-Lint Plus HTML report. Please upgrade VectorCAST" )
319+ else :
320+ import generate_pclp_reports
321+ os . makedirs ( os . path . join ( self .xml_data_dir , "pclp" ) )
322+ report_name = os . path . join ( self . xml_data_dir , "pclp" , "gl-code-quality-report.json" )
323+ print ( "PC-lint Plus Metrics file: " + report_name )
324+ generate_pclp_reports . generate_reports ( self . pclp_input , output_gitlab = report_name )
325+
326+ if args . pclp_output_html :
323327 print ("Creating PC-lint Plus Findings" )
324- import generate_pclp_reports
325328 generate_pclp_reports .generate_html_report (self .FullMP , self .pclp_input , self .pclp_output_html )
326329
327330 def runReports (self ):
@@ -341,17 +344,23 @@ def generateTestCaseMgtRpt(self):
341344 else :
342345 for file in glob .glob ("management/*_management_report.html" ):
343346 os .remove (file )
344-
345- with VCProjectApi (self .FullMP ) as vcprojApi :
346- for env in vcprojApi .Environment .all ():
347- if not env .is_active :
348- continue
349-
350- self .needIndexHtml = True
351347
352- report_name = env .compiler .name + "_" + env .testsuite .name + "_" + env .name + "_management_report.html"
353- report_name = os .path .join ("management" ,report_name )
354- env .api .report (report_type = "MANAGEMENT_REPORT" , formats = ["HTML" ], output_file = report_name )
348+ if checkVectorCASTVersion (21 ):
349+ from vector .apps .DataAPI .vcproject_api import VCProjectApi
350+
351+ with VCProjectApi (self .FullMP ) as vcprojApi :
352+ for env in vcprojApi .Environment .all ():
353+ if not env .is_active :
354+ continue
355+
356+ self .needIndexHtml = True
357+
358+ report_name = env .compiler .name + "_" + env .testsuite .name + "_" + env .name + "_management_report.html"
359+ report_name = os .path .join ("management" ,report_name )
360+ env .api .report (report_type = "MANAGEMENT_REPORT" , formats = ["HTML" ], output_file = report_name )
361+ else :
362+ print ("Cannot create Test Case Management HTML report. Please upgrade VectorCAST" )
363+
355364
356365 def exportRgw (self ):
357366 rgw .updateReqRepo (VC_Manage_Project = self .FullMP , VC_Workspace = os .getcwd () , top_level = False )
0 commit comments