Skip to content

Commit 5f57dec

Browse files
committed
Updates for error with teeprint
1 parent e0e2b61 commit 5f57dec

File tree

2 files changed

+43
-33
lines changed

2 files changed

+43
-33
lines changed

src/main/resources/scripts/generate-results.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ def delete_file(filename):
231231
if os.path.exists(filename):
232232
os.remove(filename)
233233

234-
def genDataApiReports(FullManageProjectName, entry, cbtDict, generate_exec_rpt_each_testcase, use_archive_extract, report_only_failures, useStartLine):
234+
def genDataApiReports(FullManageProjectName, entry, cbtDict, generate_exec_rpt_each_testcase, use_archive_extract, report_only_failures, useStartLine, teePrint):
235235
xml_file = ""
236236

237237
try:
@@ -261,7 +261,8 @@ def genDataApiReports(FullManageProjectName, entry, cbtDict, generate_exec_rpt_e
261261
use_archive_extract,
262262
report_only_failures,
263263
print_exc,
264-
useStartLine)
264+
useStartLine,
265+
teePrint)
265266

266267
if xml_file.api != None:
267268
if verbose:
@@ -389,7 +390,7 @@ def generateIndividualReports(entry, envName):
389390

390391

391392

392-
def useManageAPI(FullManageProjectName, cbtDict, generate_exec_rpt_each_testcase, use_archive_extract, report_only_failures, no_full_report, useStartLine):
393+
def useManageAPI(FullManageProjectName, cbtDict, generate_exec_rpt_each_testcase, use_archive_extract, report_only_failures, no_full_report, useStartLine, teePrint):
393394
global verbose
394395

395396
print("Using VCProjectApi")
@@ -407,7 +408,7 @@ def useManageAPI(FullManageProjectName, cbtDict, generate_exec_rpt_each_testcase
407408
report_only_failures,
408409
no_full_report,
409410
print_exc,
410-
useStartLine)
411+
useStartLine, teePrint)
411412

412413
if xml_file.api != None:
413414
xml_file.generate_testresults()
@@ -433,7 +434,7 @@ def useManageAPI(FullManageProjectName, cbtDict, generate_exec_rpt_each_testcase
433434
return 0, 0
434435

435436

436-
def useNewAPI(FullManageProjectName, manageEnvs, level, envName, cbtDict, generate_exec_rpt_each_testcase, use_archive_extract, report_only_failures, no_full_report, useStartLine):
437+
def useNewAPI(FullManageProjectName, manageEnvs, level, envName, cbtDict, generate_exec_rpt_each_testcase, use_archive_extract, report_only_failures, no_full_report, useStartLine, teePrint):
437438

438439
failed_count = 0
439440
passed_count = 0
@@ -446,7 +447,7 @@ def useNewAPI(FullManageProjectName, manageEnvs, level, envName, cbtDict, genera
446447
continue
447448

448449
if envName == None:
449-
pc, fc = genDataApiReports(FullManageProjectName, manageEnvs[currentEnv], cbtDict, generate_exec_rpt_each_testcase,use_archive_extract, report_only_failures, useStartLine)
450+
pc, fc = genDataApiReports(FullManageProjectName, manageEnvs[currentEnv], cbtDict, generate_exec_rpt_each_testcase,use_archive_extract, report_only_failures, useStartLine, teePrint)
450451
passed_count += pc
451452
failed_count += fc
452453
if not no_full_report:
@@ -456,7 +457,7 @@ def useNewAPI(FullManageProjectName, manageEnvs, level, envName, cbtDict, genera
456457
env_level = manageEnvs[currentEnv]["compiler"] + "/" + manageEnvs[currentEnv]["testsuite"]
457458

458459
if level == None or env_level.upper() == level.upper():
459-
pc, fc = genDataApiReports(FullManageProjectName, manageEnvs[currentEnv], cbtDict, generate_exec_rpt_each_testcase,use_archive_extract, report_only_failures, useStartLine)
460+
pc, fc = genDataApiReports(FullManageProjectName, manageEnvs[currentEnv], cbtDict, generate_exec_rpt_each_testcase,use_archive_extract, report_only_failures, useStartLine, teePrint)
460461
passed_count += pc
461462
failed_count += fc
462463

@@ -482,7 +483,7 @@ def cleanupOldBuilds(teePrint):
482483
# def buildReports(FullManageProjectName = None, level = None, envName = None, generate_individual_reports = True, timing = False, cbtDict = None,use_archive_extract = False, report_only_failures = False, no_full_report = False):
483484
def buildReports(FullManageProjectName = None, level = None, envName = None, generate_individual_reports = True,
484485
timing = False, cbtDict = None, use_archive_extract = False,
485-
report_only_failures = False, no_full_report = False, use_ci = "", xml_data_dir = "xml_data", useStartLine = False):
486+
report_only_failures = False, no_full_report = False, use_ci = "", xml_data_dir = "xml_data", useStartLine = False, teePrint = None):
486487

487488
if timing:
488489
print("Start report generation: " + str(time.time()))
@@ -506,8 +507,10 @@ def buildReports(FullManageProjectName = None, level = None, envName = None, gen
506507
if timing:
507508
print("Version Check: " + str(time.time()))
508509

509-
with tee_print.TeePrint() as teePrint:
510-
cleanupOldBuilds(teePrint)
510+
if teePrint is None:
511+
teePrint = tee_print.TeePrint()
512+
513+
cleanupOldBuilds(teePrint)
511514

512515

513516
for file in glob.glob("*.csv"):
@@ -535,7 +538,7 @@ def buildReports(FullManageProjectName = None, level = None, envName = None, gen
535538
use_manage_api = True
536539
api.close()
537540
except:
538-
teePrint.teePrint(" *INFO: iIssue getting tool version from: " + FullManageProjectName)
541+
teePrint.teePrint(" *INFO: Issue getting tool version from: " + FullManageProjectName)
539542
traceback.print_exc()
540543
use_manage_api = False
541544

@@ -544,16 +547,16 @@ def buildReports(FullManageProjectName = None, level = None, envName = None, gen
544547
use_archive_extract,
545548
report_only_failures,
546549
no_full_report,
547-
useStartLine)
550+
useStartLine,
551+
teePrint)
548552

549-
550553
else:
551554

552555
manageEnvs = getManageEnvs(FullManageProjectName)
553556
if timing:
554557
print("Using DataAPI for reporting")
555558
print("Get Info: " + str(time.time()))
556-
passed_count, failed_count = useNewAPI(FullManageProjectName, manageEnvs, level, envName, cbtDict, generate_individual_reports, use_archive_extract, report_only_failures, no_full_report, useStartLine)
559+
passed_count, failed_count = useNewAPI(FullManageProjectName, manageEnvs, level, envName, cbtDict, generate_individual_reports, use_archive_extract, report_only_failures, no_full_report, useStartLine, teePrint)
557560

558561
with open("unit_test_fail_count.txt", "w") as fd:
559562
failed_str = str(failed_count)
@@ -868,7 +871,8 @@ def new_init(self):
868871
# Set VCAST_MANAGE_PROJECT_DIRECTORY to match .vcm directory
869872
os.environ['VCAST_MANAGE_PROJECT_DIRECTORY'] = os.path.abspath(args.ManageProject).rsplit(".",1)[0]
870873

871-
buildReports(args.ManageProject,args.level,args.environment,generate_individual_reports, timing, cbtDict, args.use_archive_extract, args.report_only_failures, args.no_full_report)
874+
with tee_print.TeePrint() as teePrint:
875+
buildReports(args.ManageProject,args.level,args.environment,generate_individual_reports, timing, cbtDict, args.use_archive_extract, args.report_only_failures, args.no_full_report, teePrint)
872876

873877
import archive_extract_reports
874878

src/main/resources/scripts/generate_xml.py

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,15 @@ def dummy(*args, **kwargs):
7070
# (Emma based) report for Coverage
7171
#
7272
class BaseGenerateXml(object):
73-
def __init__(self, FullManageProjectName, verbose):
73+
def __init__(self, FullManageProjectName, verbose, teePrint):
7474
projectName = os.path.splitext(os.path.basename(FullManageProjectName))[0]
7575
self.manageProjectName = projectName
7676
self.cover_report_name = os.path.join("xml_data","coverage_results_"+ self.manageProjectName + ".xml")
7777
self.unit_report_name = os.path.join("xml_data","test_results_"+ self.manageProjectName + ".xml")
7878
self.verbose = verbose
7979
self.has_sfp_enabled = False
8080
self.print_exc = False
81+
self.teePrint = teePrint
8182

8283
# get the VC langaguge and encoding
8384
self.encFmt = 'utf-8'
@@ -95,6 +96,9 @@ def __init__(self, FullManageProjectName, verbose):
9596
self.env = ""
9697
self.build_dir = ""
9798

99+
if self.teePrint is None:
100+
self.teePrint = tee_print.TeePrint()
101+
self.teePrint.teePrint("BaseGenerateXml called incorrectly, no teePrint")
98102
#
99103
# BaseGenerateXml - calculate coverage value
100104
#
@@ -643,9 +647,10 @@ def __init__(self, FullManageProjectName, verbose = False,
643647
report_failed_only = False,
644648
no_full_reports = False,
645649
print_exc = False,
646-
useStartLine = False):
650+
useStartLine = False,
651+
teePrint = None):
647652

648-
super(GenerateManageXml, self).__init__(FullManageProjectName, verbose)
653+
super(GenerateManageXml, self).__init__(FullManageProjectName, verbose, teePrint)
649654
self.api = VCProjectApi(FullManageProjectName)
650655

651656
try:
@@ -678,7 +683,7 @@ def cleanupXmlDataDir(self):
678683
try:
679684
os.remove(file);
680685
except:
681-
teePrint.teePrint(" *INFO: File System Error removing file after failed to remove directory: " + path + "/" + file + ". Check console for environment build/execution errors")
686+
self.teePrint.teePrint(" *INFO: File System Error removing file after failed to remove directory: " + path + "/" + file + ". Check console for environment build/execution errors")
682687
if print_exc: traceback.print_exc()
683688

684689
# we should either have an empty directory or no directory
@@ -687,7 +692,7 @@ def cleanupXmlDataDir(self):
687692
os.mkdir(path)
688693
except:
689694
print("failed making path: " + path)
690-
teePrint.teePrint(" *INFO: File System Error creating directory: " + path + ". Check console for environment build/execution errors")
695+
self.teePrint.teePrint(" *INFO: File System Error creating directory: " + path + ". Check console for environment build/execution errors")
691696
if print_exc: traceback.print_exc()
692697

693698
def __del__(self):
@@ -794,7 +799,8 @@ def generate_local_results(self, results, key):
794799
self.use_archive_extract,
795800
self.report_failed_only,
796801
self.print_exc,
797-
self.useStartLine)
802+
self.useStartLine,
803+
self.teePrint)
798804

799805
localXML.topLevelAPI = self.api
800806
localXML.noResults = self.noResults
@@ -953,8 +959,8 @@ def generate_testresults(self):
953959
#
954960
class GenerateXml(BaseGenerateXml):
955961

956-
def __init__(self, FullManageProjectName, build_dir, env, compiler, testsuite, cover_report_name, jenkins_name, unit_report_name, jenkins_link, jobNameDotted, verbose = False, cbtDict= None, generate_exec_rpt_each_testcase = True, use_archive_extract = False, report_failed_only = False, print_exc = False, useStartLine = False):
957-
super(GenerateXml, self).__init__(FullManageProjectName, verbose)
962+
def __init__(self, FullManageProjectName, build_dir, env, compiler, testsuite, cover_report_name, jenkins_name, unit_report_name, jenkins_link, jobNameDotted, verbose = False, cbtDict= None, generate_exec_rpt_each_testcase = True, use_archive_extract = False, report_failed_only = False, print_exc = False, useStartLine = False, teePrint = None):
963+
super(GenerateXml, self).__init__(FullManageProjectName, verbose, teePrint)
958964

959965
self.cbtDict = cbtDict
960966
self.FullManageProjectName = FullManageProjectName
@@ -1487,19 +1493,19 @@ def __print_test_case_was_skipped(self, searchName, passed):
14871493
if self.verbose:
14881494
print("skipping ", self.hashCode, searchName, passed)
14891495

1490-
def __generate_xml(xml_file, envPath, env, xmlCoverReportName, xmlTestingReportName, teePrint):
1496+
def __generate_xml(xml_file, envPath, env, xmlCoverReportName, xmlTestingReportName):
14911497
if xml_file.api == None:
1492-
teePrint.teePrint ("\nCannot find project file (.vcp or .vce): " + envPath + os.sep + env)
1498+
self.teePrint.teePrint ("\nCannot find project file (.vcp or .vce): " + envPath + os.sep + env)
14931499

14941500
elif isinstance(xml_file, CoverApi):
14951501
xml_file.generate_cover()
1496-
teePrint.teePrint ("\nvectorcast-coverage plugin for Jenkins compatible file generated: " + xmlCoverReportName)
1502+
self.teePrint.teePrint ("\nvectorcast-coverage plugin for Jenkins compatible file generated: " + xmlCoverReportName)
14971503

14981504
else:
14991505
xml_file.generate_unit()
1500-
teePrint.teePrint ("\nJunit plugin for Jenkins compatible file generated: " + xmlTestingReportName)
1506+
self.teePrint.teePrint ("\nJunit plugin for Jenkins compatible file generated: " + xmlTestingReportName)
15011507
xml_file.generate_cover()
1502-
teePrint.teePrint ("\nVCC plugin for Jenkins compatible file generated: " + xmlTestingReportName)
1508+
self.teePrint.teePrint ("\nVCC plugin for Jenkins compatible file generated: " + xmlTestingReportName)
15031509

15041510
if __name__ == '__main__':
15051511

@@ -1524,7 +1530,8 @@ def __generate_xml(xml_file, envPath, env, xmlCoverReportName, xmlTestingReportN
15241530
xmlCoverReportName = "coverage_results_" + env + ".xml"
15251531
xmlTestingReportName = "test_results_" + env + ".xml"
15261532

1527-
xml_file = GenerateXml(env,
1533+
with tee_print.TeePrint() as teePrint:
1534+
xml_file = GenerateXml(env,
15281535
envPath,
15291536
env, "", "",
15301537
xmlCoverReportName,
@@ -1533,13 +1540,12 @@ def __generate_xml(xml_file, envPath, env, xmlCoverReportName, xmlTestingReportN
15331540
jenkins_link,
15341541
jobNameDotted,
15351542
args.verbose,
1536-
None)
1543+
None,
1544+
teePrint)
15371545

1538-
with tee_print.TeePrint() as teePrint:
15391546
__generate_xml(
15401547
xml_file,
15411548
envPath,
15421549
env,
15431550
xmlCoverReportName,
1544-
xmlTestingReportName,
1545-
teePrint)
1551+
xmlTestingReportName)

0 commit comments

Comments
 (0)