Skip to content

Commit e3deb7d

Browse files
committed
Updates
1 parent 5a5d966 commit e3deb7d

File tree

2 files changed

+40
-4
lines changed

2 files changed

+40
-4
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ The api for vcast_exec.py follows:
7373
--cobertura Generate coverage results in Cobertura xml format
7474
--cobertura_extended Generate coverage results in extended Cobertura xml
7575
format
76-
--send_to_bitbucket Send Cobertura data to BitBucket
76+
--send_to_bitbucket Generate Junit and Extended Cobertura data to send to
77+
BitBucket
7778
--lcov Generate coverage results in an LCOV format
7879
--junit Generate test results in Junit xml format
7980
--export_rgw Export RGW data

vcast_exec.py

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ def __init__(self, args):
224224
self.cleanup(".", self.mpName + "_aggregate_report.html")
225225
self.cleanup(".", self.mpName + "_metrics_report.html")
226226

227-
def cleanup(self, dirName, fname):
227+
def cleanup(self, dirName, fname = ""):
228228
for file in glob.glob(os.path.join(self.xml_data_dir, dirName, fname + "*.*")):
229229
try:
230230
os.remove(file);
@@ -331,6 +331,14 @@ def sendToBitBucket(self):
331331
import cobertura
332332
import send_cobertura_to_bitbucket
333333

334+
self.cleanup("coverage")
335+
self.cleanup("test-results")
336+
self.cleanup("reports")
337+
338+
os.makedirs("coverage")
339+
os.makedirs("test-results")
340+
os.makedirs("reports/html")
341+
334342
print("Generating and sending extended cobertura metrics to BitBucket")
335343
cobertura.generateCoverageResults(
336344
self.FullMP,
@@ -339,14 +347,41 @@ def sendToBitBucket(self):
339347
verbose = self.verbose,
340348
extended=True,
341349
source_root = self.source_root)
342-
350+
351+
print("Creating JUnit metrics to be ready byBitBucket")
352+
failed_count, passed_count = generate_results.buildReports(
353+
FullManageProjectName = self.FullMP,
354+
level = None,
355+
envName = None,
356+
generate_individual_reports = False,
357+
timing = False,
358+
cbtDict = None,
359+
use_archive_extract = False,
360+
report_only_failures = False,
361+
no_full_report = False,
362+
use_ci = self.ci,
363+
xml_data_dir = "test-results",
364+
useStartLine = False)
365+
343366
name = os.path.splitext(os.path.basename(self.FullMP))[0] + ".xml"
344367
fname = os.path.join("coverage","coverage_results_" + name)
345368

346369
send_cobertura_to_bitbucket.run(
347370
filename = fname,
348371
minimum_passing_coverage = 0.8,
349372
verbose = self.verbose)
373+
374+
for html_dir in [".", self.html_base_dir, "rebuild_reports"]:
375+
for html in glob.glob(os.path.join(html_dir, "*.html")) \
376+
+ glob.glob(os.path.join(html_dir, "*.ccs")) \
377+
+ glob.glob(os.path.join(html_dir, "*.png")):
378+
dest = os.path.join("reports/html",html)
379+
try:
380+
shutil.copyfile(html, dest)
381+
print("Copying {} --> {}".format(html.dest))
382+
except Exception as e:
383+
print("Error copying {} --> {}".format(html.dest))
384+
print(e)
350385

351386
def runSonarQubeMetrics(self):
352387
if not checkVectorCASTVersion(21):
@@ -520,7 +555,7 @@ def runExec(self):
520555
metricsGroup.add_argument("--html_base_dir", help='Set the base directory of the html_reports directory. The default is the workspace directory', default = "html_reports")
521556
metricsGroup.add_argument('--cobertura', help='Generate coverage results in Cobertura xml format', action="store_true", default = False)
522557
metricsGroup.add_argument('--cobertura_extended', help='Generate coverage results in extended Cobertura xml format', action="store_true", default = False)
523-
metricsGroup.add_argument('--send_to_bitbucket', help='Send Cobertura data to BitBucket', action="store_true", default = False)
558+
metricsGroup.add_argument('--send_to_bitbucket', help='Generate Junit and Extended Cobertura data to send to BitBucket', action="store_true", default = False)
524559
metricsGroup.add_argument('--lcov', help='Generate coverage results in an LCOV format', action="store_true", default = False)
525560
metricsGroup.add_argument('--junit', help='Generate test results in Junit xml format', action="store_true", default = False)
526561
metricsGroup.add_argument('--export_rgw', help='Export RGW data', action="store_true", default = False)

0 commit comments

Comments
 (0)