soda 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/SodaReportSummery.rb +124 -642
  2. metadata +4 -4
@@ -221,11 +221,7 @@ def GenHtmlReport(data, reportfile, create_links = false)
221
221
  report_file = ""
222
222
  now = nil
223
223
 
224
- totals['Test Warning Count'] = 0
225
- totals['Test Other Failures'] = 0
226
- totals['Test WatchDog Count'] = 0
227
224
  totals['Test Failure Count'] = 0
228
- totals['Test Passed Count'] = 0
229
225
  totals['Test CSS Error Count'] = 0
230
226
  totals['Test JavaScript Error Count'] = 0
231
227
  totals['Test Assert Failures'] = 0
@@ -235,8 +231,6 @@ def GenHtmlReport(data, reportfile, create_links = false)
235
231
  totals['Test Major Exceptions'] = 0
236
232
  totals['Test Count'] = 0
237
233
  totals['Test Skip Count'] = 0
238
- totals['Test Blocked Count'] = 0
239
- totals['Total Failure Count'] = 0
240
234
  totals['running_time'] = nil
241
235
 
242
236
  begin
@@ -257,560 +251,102 @@ def GenHtmlReport(data, reportfile, create_links = false)
257
251
  html_header = <<HTML
258
252
  <html>
259
253
  <style type="text/css">
260
-
261
- .highlight {
262
- background-color: #8888FF;
263
- }
264
-
265
- .unhighlight {
266
- background: #FFFFFF;
267
- }
268
-
269
- .td_header_master {
270
- whitw-space: nowrap;
271
- background: #99CCFF;
272
- text-align: center;
273
- font-family: Arial;
274
- font-weight: bold;
275
- font-size: 12px;
276
- border-left: 0px solid black;
277
- border-right: 2px solid black;
278
- border-bottom: 2px solid black;
279
- }
280
-
281
- .td_header_sub {
282
- whitw-space: nowrap;
283
- background: #99CCFF;
284
- text-align: center;
285
- font-family: Arial;
286
- font-weight: bold;
287
- font-size: 12px;
288
- border-left: 1px solid black;
289
- border-right: 0px solid black;
290
- border-bottom: 2px solid black;
291
- }
292
-
293
- .td_header_skipped {
294
- whitw-space: nowrap;
295
- background: #99CCFF;
296
- text-align: center;
297
- font-family: Arial;
298
- font-weight: bold;
299
- font-size: 12px;
300
- border-left: 1px solid black;
301
- border-right: 2px solid black;
302
- border-bottom: 2px solid black;
303
- }
304
-
305
- .td_header_watchdog {
306
- whitw-space: nowrap;
307
- background: #99CCFF;
308
- text-align: center;
309
- font-family: Arial;
310
- font-weight: bold;
311
- font-size: 12px;
312
- border-left: 0px solid black;
313
- border-right: 0px solid black;
314
- border-bottom: 2px solid black;
315
- }
316
-
317
- table {
318
- width: 100%;
319
- border: 2px solid black;
320
- border-collapse: collapse;
321
- padding: 0px;
322
- background: #FFFFFF;
323
- }
324
-
325
- .td_file_data {
326
- whitw-space: nowrap;
327
- text-align: left;
328
- font-family: Arial;
329
- font-weight: bold;
330
- font-size: 12px;
331
- border-left: 0px solid black;
332
- border-right: 2px solid black;
333
- border-bottom: 2px solid black;
334
- }
335
-
336
- .td_run_data {
337
- whitw-space: nowrap;
338
- text-align: center;
339
- font-family: Arial;
340
- font-weight: bold;
341
- font-size: 12px;
342
- border-left: 0px solid black;
343
- border-right: 0px solid black;
344
- border-bottom: 0px solid black;
345
- }
346
-
347
- .td_run_data_error {
348
- whitw-space: nowrap;
349
- text-align: center;
350
- font-family: Arial;
351
- font-weight: bold;
352
- color: #FF0000;
353
- font-size: 12px;
354
- border-left: 0px solid black;
355
- border-right: 0px solid black;
356
- border-bottom: 0px solid black;
357
- }
358
-
359
- .td_passed_data {
360
- whitw-space: nowrap;
361
- text-align: center;
362
- font-family: Arial;
363
- font-weight: bold;
364
- color: #00FF00;
365
- font-size: 12px;
366
- border-left: 0px solid black;
367
- border-right: 0px solid black;
368
- border-bottom: 0px solid black;
369
- }
370
-
371
- .td_failed_data {
372
- whitw-space: nowrap;
373
- text-align: center;
374
- font-family: Arial;
375
- font-weight: bold;
376
- color: #FF0000;
377
- font-size: 12px;
378
- border-left: 0px solid black;
379
- border-right: 0px solid black;
380
- border-bottom: 0px solid black;
381
- }
382
-
383
- .td_blocked_data {
384
- whitw-space: nowrap;
385
- text-align: center;
386
- font-family: Arial;
387
- font-weight: bold;
388
- color: #FFCF10;
389
- font-size: 12px;
390
- border-left: 0px solid black;
391
- border-right: 0px solid black;
392
- border-bottom: 0px solid black;
393
- }
394
-
395
- .td_skipped_data {
396
- whitw-space: nowrap;
397
- text-align: center;
398
- font-family: Arial;
399
- font-weight: bold;
400
- color: #D9D9D9;
401
- font-size: 12px;
402
- border-left: 0px solid black;
403
- border-right: 2px solid black;
404
- border-bottom: 0px solid black;
405
- }
406
-
407
- .td_watchdog_data {
408
- whitw-space: nowrap;
409
- text-align: center;
410
- font-family: Arial;
411
- font-weight: normal;
412
- font-size: 12px;
413
- border-left: 0px solid black;
414
- border-right: 0px solid black;
415
- border-bottom: 0px solid black;
416
- }
417
-
418
- .td_watchdog_error_data {
419
- whitw-space: nowrap;
420
- color: #FF0000;
421
- text-align: center;
422
- font-family: Arial;
423
- font-weight: bold;
424
- font-size: 12px;
425
- border-left: 0px solid black;
426
- border-right: 0px solid black;
427
- border-bottom: 0px solid black;
428
- }
429
-
430
- .td_exceptions_data {
431
- whitw-space: nowrap;
432
- text-align: center;
433
- font-family: Arial;
434
- font-weight: normal;
435
- font-size: 12px;
436
- border-left: 0px solid black;
437
- border-right: 0px solid black;
438
- border-bottom: 0px solid black;
439
- }
440
-
441
- .td_exceptions_error_data {
442
- whitw-space: nowrap;
443
- text-align: center;
444
- font-family: Arial;
445
- font-weight: bold;
446
- color: #FF0000;
447
- font-size: 12px;
448
- border-left: 0px solid black;
449
- border-right: 0px solid black;
450
- border-bottom: 0px solid black;
451
- }
452
-
453
- .td_javascript_data {
454
- whitw-space: nowrap;
455
- text-align: center;
456
- font-family: Arial;
457
- font-weight: normal;
458
- font-size: 12px;
459
- border-left: 0px solid black;
460
- border-right: 0px solid black;
461
- border-bottom: 0px solid black;
254
+ body
255
+ {
256
+ margin: 0px;
257
+ font-family: Arial, Verdana, Helvetica, sans-serif;
462
258
  }
463
259
 
464
- .td_javascript_error_data {
465
- whitw-space: nowrap;
466
- text-align: center;
467
- font-family: Arial;
468
- font-weight: bold;
469
- color: #FF0000;
470
- font-size: 12px;
471
- border-left: 0px solid black;
472
- border-right: 0px solid black;
473
- border-bottom: 0px solid black;
260
+ a:hover
261
+ {
262
+ color: #24f938;
474
263
  }
475
264
 
476
- .td_assert_data {
477
- whitw-space: nowrap;
478
- text-align: center;
479
- font-family: Arial;
480
- font-weight: normal;
481
- font-size: 12px;
482
- border-left: 0px solid black;
483
- border-right: 0px solid black;
484
- border-bottom: 0px solid black;
265
+ fieldset, table, pre
266
+ {
267
+ margin-bottom:0;
485
268
  }
486
269
 
487
- .td_assert_error_data {
488
- whitw-space: nowrap;
489
- text-align: center;
490
- font-family: Arial;
491
- font-weight: bold;
492
- color: #FF0000;
493
- font-size: 12px;
494
- border-left: 0px solid black;
495
- border-right: 0px solid black;
496
- border-bottom: 0px solid black;
270
+ p
271
+ {
272
+ margin-top: 0px;
273
+ margin-bottom: 0px;
274
+ font-family: Arial, Verdana, Helvetica, sans-serif;
275
+ font-size: 11px;
497
276
  }
498
277
 
499
- .td_other_data {
500
- whitw-space: nowrap;
501
- text-align: center;
502
- font-family: Arial;
503
- font-weight: normal;
504
- font-size: 12px;
505
- border-left: 0px solid black;
506
- border-right: 0px solid black;
507
- border-bottom: 0px solid black;
278
+ li
279
+ {
280
+ margin-top: 0px;
281
+ margin-bottom: 0px;
282
+ font-family: Arial, Verdana, Helvetica, sans-serif;
283
+ font-size: 11px;
508
284
  }
509
285
 
510
- .td_other_error_data {
511
- whitw-space: nowrap;
512
- text-align: center;
513
- font-family: Arial;
514
- font-weight: bold;
515
- color: #FF0000;
516
- font-size: 12px;
517
- border-left: 0px solid black;
518
- border-right: 0px solid black;
519
- border-bottom: 0px solid black;
286
+ td
287
+ {
288
+ text-align: center;
289
+ vertical-align: middle;
520
290
  }
521
291
 
522
- .td_total_data {
523
- whitw-space: nowrap;
524
- text-align: center;
525
- font-family: Arial;
526
- font-weight: normal;
527
- font-size: 12px;
528
- border-left: 0px solid black;
529
- border-right: 2px solid black;
530
- border-bottom: 0px solid black;
292
+ .td_file
293
+ {
294
+ text-align: left;
295
+ vertical-align: middle;
296
+ white-space: nowrap;
531
297
  }
532
298
 
533
- .td_total_error_data {
534
- whitw-space: nowrap;
535
- text-align: center;
536
- font-family: Arial;
537
- font-weight: bold;
538
- color: #FF0000;
539
- font-size: 12px;
540
- border-left: 0px solid black;
541
- border-right: 2px solid black;
542
- border-bottom: 0px solid black;
299
+ .tr_normal
300
+ {
301
+ background: #e5eef3;
543
302
  }
544
303
 
545
- .td_css_data {
546
- whitw-space: nowrap;
547
- text-align: center;
548
- font-family: Arial;
549
- font-weight: normal;
550
- font-size: 12px;
551
- border-left: 0px solid black;
552
- border-right: 0px solid black;
553
- border-bottom: 0px solid black;
554
- }
555
-
556
- .td_sodawarnings_data {
557
- whitw-space: nowrap;
558
- text-align: center;
559
- font-family: Arial;
560
- font-weight: normal;
561
- font-size: 12px;
562
- border-left: 0px solid black;
563
- border-right: 2px solid black;
564
- border-bottom: 0px solid black;
565
- }
566
-
567
- .td_time_data {
568
- whitw-space: nowrap;
569
- text-align: center;
570
- font-family: Arial;
571
- font-weight: normal;
572
- font-size: 12px;
573
- border-left: 0px solid black;
574
- border-right: 1px solid black;
575
- border-bottom: 0px solid black;
576
- }
577
-
578
- .td_footer_run {
579
- whitw-space: nowrap;
580
- background: #99CCFF;
581
- text-align: center;
582
- font-family: Arial;
583
- font-weight: bold;
584
- font-size: 12px;
585
- color: #000000;
586
- border-top: 2px solid black;
587
- border-left: 0px solid black;
588
- border-right: 2px solid black;
589
- border-bottom: 2px solid black;
590
- }
591
-
592
- .td_footer_passed {
593
- whitw-space: nowrap;
594
- background: #99CCFF;
595
- text-align: center;
596
- font-family: Arial;
597
- font-weight: bold;
598
- font-size: 12px;
599
- color: #00FF00;
600
- border-top: 2px solid black;
601
- border-left: 0px solid black;
602
- border-right: 0px solid black;
603
- border-bottom: 2px solid black;
604
- }
605
-
606
- .td_footer_failed {
607
- whitw-space: nowrap;
608
- background: #99CCFF;
609
- text-align: center;
610
- font-family: Arial;
611
- font-weight: bold;
612
- font-size: 12px;
613
- color: #FF0000;
614
- border-top: 2px solid black;
615
- border-left: 0px solid black;
616
- border-right: 2px solid black;
617
- border-bottom: 2px solid black;
618
- }
619
-
620
- .td_footer_blocked {
621
- whitw-space: nowrap;
622
- background: #99CCFF;
623
- text-align: center;
624
- font-family: Arial;
625
- font-weight: bold;
626
- font-size: 12px;
627
- color: #FFCF10;
628
- border-top: 2px solid black;
629
- border-left: 0px solid black;
630
- border-right: 0px solid black;
631
- border-bottom: 2px solid black;
632
- }
633
-
634
- .td_footer_skipped {
635
- whitw-space: nowrap;
636
- background: #99CCFF;
637
- text-align: center;
638
- font-family: Arial;
639
- font-weight: bold;
640
- font-size: 12px;
641
- color: #D9D9D9;
642
- border-top: 2px solid black;
643
- border-left: 0px solid black;
644
- border-right: 2px solid black;
645
- border-bottom: 2px solid black;
646
- }
647
-
648
- .td_footer_watchdog {
649
- whitw-space: nowrap;
650
- background: #99CCFF;
651
- text-align: center;
652
- font-family: Arial;
653
- font-weight: bold;
654
- font-size: 12px;
655
- color: #FF0000;
656
- border-top: 2px solid black;
657
- border-left: 0px solid black;
658
- border-right: 0px solid black;
659
- border-bottom: 2px solid black;
660
- }
661
-
662
- .td_footer_exceptions {
663
- whitw-space: nowrap;
664
- background: #99CCFF;
665
- text-align: center;
666
- font-family: Arial;
667
- font-weight: bold;
668
- font-size: 12px;
669
- color: #FF0000;
670
- border-top: 2px solid black;
671
- border-left: 0px solid black;
672
- border-right: 0px solid black;
673
- border-bottom: 2px solid black;
674
- }
675
-
676
- .td_footer_javascript {
677
- whitw-space: nowrap;
678
- background: #99CCFF;
679
- text-align: center;
680
- font-family: Arial;
681
- font-weight: bold;
682
- font-size: 12px;
683
- color: #FF0000;
684
- border-top: 2px solid black;
685
- border-left: 0px solid black;
686
- border-right: 0px solid black;
687
- border-bottom: 2px solid black;
688
- }
689
-
690
- .td_footer_assert {
691
- whitw-space: nowrap;
692
- background: #99CCFF;
693
- text-align: center;
694
- font-family: Arial;
695
- font-weight: bold;
696
- font-size: 12px;
697
- color: #FF0000;
698
- border-top: 2px solid black;
699
- border-left: 0px solid black;
700
- border-right: 0px solid black;
701
- border-bottom: 2px solid black;
702
- }
703
-
704
- .td_footer_other {
705
- whitw-space: nowrap;
706
- background: #99CCFF;
707
- text-align: center;
708
- font-family: Arial;
709
- font-weight: bold;
710
- font-size: 12px;
711
- color: #FF0000;
712
- border-top: 2px solid black;
713
- border-left: 0px solid black;
714
- border-right: 0px solid black;
715
- border-bottom: 2px solid black;
716
- }
717
-
718
- .td_footer_total {
719
- whitw-space: nowrap;
720
- background: #99CCFF;
721
- text-align: center;
722
- font-family: Arial;
723
- font-weight: bold;
724
- font-size: 12px;
725
- color: #FF0000;
726
- border-top: 2px solid black;
727
- border-left: 2px solid black;
728
- border-right: 2px solid black;
729
- border-bottom: 2px solid black;
730
- }
731
-
732
- .td_footer_css {
733
- whitw-space: nowrap;
734
- background: #99CCFF;
735
- text-align: center;
736
- font-family: Arial;
737
- font-weight: bold;
738
- font-size: 12px;
739
- color: #000000;
740
- border-top: 2px solid black;
741
- border-left: 0px solid black;
742
- border-right: 0px solid black;
743
- border-bottom: 2px solid black;
304
+ .highlight {
305
+ background-color: #8888FF;
744
306
  }
745
307
 
746
- .td_footer_sodawarnings {
747
- whitw-space: nowrap;
748
- background: #99CCFF;
749
- text-align: center;
750
- font-family: Arial;
751
- font-weight: bold;
752
- font-size: 12px;
753
- color: #000000;
754
- border-top: 2px solid black;
755
- border-left: 0px solid black;
756
- border-right: 0px solid black;
757
- border-bottom: 2px solid black;
308
+ .tr_header
309
+ {
310
+ white-space: nowrap;
311
+ background: #a4a4a4;
312
+ font-weight: bold;
758
313
  }
759
314
 
760
- .td_footer_times {
761
- whitw-space: nowrap;
762
- background: #99CCFF;
763
- text-align: center;
764
- font-family: Arial;
765
- font-weight: bold;
766
- font-size: 12px;
767
- color: #000000;
768
- border-top: 2px solid black;
769
- border-left: 2px solid black;
770
- border-right: 0px solid black;
771
- border-bottom: 2px solid black;
315
+ table
316
+ {
317
+ background: #ffff;
318
+ border: 1px solid black;
319
+ border-bottom: 1px solid #0000;
320
+ border-right: 1px solid #0000;
321
+ color: #0000;
322
+ padding: 4px;
323
+ font-size: 11px;
772
324
  }
773
325
  </style>
326
+ <title>Soda Global Report Summery: #{now}</title>
774
327
  <body>
328
+ <li>#{now}</li>
775
329
  <table>
776
- <tr>
777
- <td class="td_header_master" rowspan="2">Suite</br>
778
- (click link for full report)</td>
779
- <td class="td_header_master" colspan="5">Tests</td>
780
- <td class="td_header_master" colspan="6">Failures</td>
781
- <td class="td_header_master" colspan="2">Warnings</td>
782
- <td class="td_header_master" rowspan="2">Run Time</br>(hh:mm:ss)</td>
783
- </tr>
784
- <tr>
785
- <td class="td_header_sub">Run</td>
786
- <td class="td_header_sub">Passed</td>
787
- <td class="td_header_sub">Failed</td>
788
- <td class="td_header_sub">Blocked</td>
789
- <td class="td_header_skipped">Skipped</td>
790
- <td class="td_header_watchdog">Watchdogs</td>
791
- <td class="td_header_sub">Exceptions</td>
792
- <td class="td_header_sub">JavaScript</br>Errors</td>
793
- <td class="td_header_sub">Assert</br>Failures</td>
794
- <td class="td_header_sub">Other</br>Failures</td>
795
- <td class="td_header_skipped">Total</br>Failures</td>
796
- <td class="td_header_watchdog">CSS Errors</td>
797
- <td class="td_header_skipped">Soda</br>Warnings</td>
330
+ <tr class="tr_header">
331
+ \t<td>Test File:<br>
332
+ \tClick link for full report</td>
333
+ \t<td>Test Count:</td>
334
+ \t<td>Test Skip Count:</td>
335
+ \t<td>Failure Count:</td>
336
+ \t<td>CSS Error Count:</td>
337
+ \t<td>JavaScript Error Count:</td>
338
+ \t<td>Assert Failures:</td>
339
+ \t<td>Event Count:</td>
340
+ \t<td>Assert Count:</td>
341
+ \t<td>Exceptions:</td>
342
+ \t<td>Major Exceptions:</td>
343
+ \t<td>Running Time:<br>(hh:mm:ss):</td>
798
344
  </tr>
799
345
  HTML
800
346
 
801
347
  fd.write(html_header)
802
348
 
803
349
  data.each do |rpt|
804
- totals['Test Warning Count'] +=
805
- rpt['report_hash']['Test Warning Count'].to_i()
806
- totals['Test Other Failures'] +=
807
- rpt['report_hash']['Test Other Failures'].to_i()
808
- totals['Test WatchDog Count'] +=
809
- rpt['report_hash']['Test WatchDog Count'].to_i()
810
- totals['Test Blocked Count'] +=
811
- rpt['report_hash']['Test Blocked Count'].to_i()
812
- totals['Test Passed Count'] +=
813
- rpt['report_hash']['Test Passed Count'].to_i()
814
350
  totals['Test Failure Count'] +=
815
351
  rpt['report_hash']['Test Failure Count'].to_i()
816
352
  totals['Test CSS Error Count'] +=
@@ -825,6 +361,8 @@ HTML
825
361
  rpt['report_hash']['Test Assert Count'].to_i()
826
362
  totals['Test Exceptions'] +=
827
363
  rpt['report_hash']['Test Exceptions'].to_i()
364
+ totals['Test Major Exceptions'] +=
365
+ rpt['report_hash']['Test Major Exceptions'].to_i()
828
366
  totals['Test Count'] += rpt['report_hash']['Test Count'].to_i()
829
367
  totals['Test Skip Count'] += rpt['report_hash']['Test Skip Count'].to_i()
830
368
 
@@ -840,6 +378,17 @@ HTML
840
378
  end
841
379
  hours,minutes,seconds,frac = Date.day_fraction_to_time(time_diff)
842
380
 
381
+ rpt['report_hash'].each do |k,v|
382
+ if ( (v.to_i > 0) && (k !~ /test\s+assert\s+count/i) &&
383
+ (k !~ /test\s+event\s+count/i) &&
384
+ (k !~ /css\s+error\s+count/i) &&
385
+ (k !~ /test\s+count/i))
386
+ tmp = '<font color="#FF0000"><b>'
387
+ tmp += "#{v}</b></font>"
388
+ rpt['report_hash'][k] = tmp
389
+ end
390
+ end
391
+
843
392
  report_file = File.basename(rpt['log_file'], ".log")
844
393
  report_file = "Report-#{report_file}.html"
845
394
 
@@ -854,126 +403,59 @@ HTML
854
403
  log_file_td = "#{rpt['test_file']}"
855
404
  end
856
405
 
857
- rpt['report_hash'].each do |k,v|
858
- rpt['report_hash'][k] = v.to_i()
859
- end
860
-
861
- test_run_class = "td_run_data"
862
- if (rpt['report_hash']['Test Failure Count'] > 0)
863
- test_run_class = "td_run_data_error"
864
- end
865
-
866
- rpt['report_hash']['Test Other Failures'] = 0
867
- total_failures = 0
868
- total_failures += rpt['report_hash']['Test Failure Count']
869
- total_failures += rpt['report_hash']['Test WatchDog Count']
870
- total_failures += rpt['report_hash']['Test Assert Failures']
871
- total_failures += rpt['report_hash']['Test Other Failures']
872
- total_failures += rpt['report_hash']['Test JavaScript Error Count']
873
- totals['Total Failure Count'] += total_failures
874
-
875
- tcount = 0
876
- tcount += rpt['report_hash']['Test Count']
877
- tcount += rpt['report_hash']['Test Blocked Count']
878
- tcount += rpt['report_hash']['Test Skip Count']
879
-
880
- exceptions_td = "td_exceptions_data"
881
- if (rpt['report_hash']['Test Exceptions'] > 0)
882
- exceptions_td = "td_exceptions_error_data"
883
- end
884
-
885
- asserts_td = "td_assert_data"
886
- if (rpt['report_hash']['Test Assert Failures'] > 0)
887
- asserts_td = "td_assert_error_data"
888
- end
889
-
890
- watchdog_td = "td_watchdog_data"
891
- if (rpt['report_hash']['Test WatchDog Count'] > 0)
892
- watchdog_td = "td_watchdog_error_data"
893
- end
894
-
895
- jscript_td = "td_javascript_data"
896
- if (rpt['report_hash']['Test JavaScript Error Count'] > 0)
897
- jscript_td = "td_javascript_error_data"
898
- end
899
-
900
- t_passedcount = rpt['report_hash']['Test Count']
901
- t_passedcount -= rpt['report_hash']['Test Failure Count']
902
-
903
- str = "<tr class=\"unhighlight\" "+
406
+ str = "<tr class=\"tr_normal\" "+
904
407
  "onMouseOver=\"this.className='highlight'\" "+
905
- "onMouseOut=\"this.className='unhighlight'\">\n"+
906
- "\t<td class=\"td_file_data\">#{log_file_td}</td>\n"+
907
- "\t<td class=\"#{test_run_class}\">"+
908
- "#{t_passedcount}/#{tcount}</td>\n"+
909
- "\t<td class=\"td_passed_data\">"+
910
- "#{rpt['report_hash']['Test Passed Count']}</td>\n"+
911
- "\t<td class=\"td_failed_data\">"+
912
- "#{rpt['report_hash']['Test Failure Count']}</td>\n"+
913
- "\t<td class=\"td_blocked_data\">"+
914
- "#{rpt['report_hash']['Test Blocked Count']}</td>\n"+
915
- "\t<td class=\"td_skipped_data\">"+
916
- "#{rpt['report_hash']['Test Skip Count']}</td>\n"+
917
- "\t<td class=\"#{watchdog_td}\">"+
918
- "#{rpt['report_hash']['Test WatchDog Count']}</td>\n"+
919
- "\t<td class=\"#{exceptions_td}\">"+
920
- "#{rpt['report_hash']['Test Exceptions']}</td>\n"+
921
- "\t<td class=\"#{jscript_td}\">"+
922
- "#{rpt['report_hash']['Test JavaScript Error Count']}</td>\n"+
923
- "\t<td class=\"#{asserts_td}\">"+
924
- "#{rpt['report_hash']['Test Assert Failures']}</td>\n"+
925
- "\t<td class=\"td_other_data\">"+
926
- "#{rpt['report_hash']['Test Other Failures']}</td>\n"+
927
- "\t<td class=\"td_total_data\">#{total_failures}</td>\n"+
928
- "\t<td class=\"td_css_data\">"+
929
- "#{rpt['report_hash']['Test CSS Error Count']}</td>\n"+
930
- "\t<td class=\"td_sodawarnings_data\">"+
931
- "#{rpt['report_hash']['Test Warning Count']}</td>\n"+
932
- "\t<td class=\"td_time_data\">"+
933
- "#{hours}:#{minutes}:#{seconds}</td>\n</tr>\n"
408
+ "onMouseOut=\"this.className='tr_normal'\">\n" +
409
+ "\t<td class=\"td_file\">#{log_file_td}</td>\n" +
410
+ "\t<td>#{rpt['report_hash']['Test Count']}</td>\n"+
411
+ "\t<td>#{rpt['report_hash']['Test Skip Count']}</td>\n"+
412
+ "\t<td>#{rpt['report_hash']['Test Failure Count']}</td>\n"+
413
+ "\t<td>#{rpt['report_hash']['Test CSS Error Count']}</td>\n" +
414
+ "\t<td>#{rpt['report_hash']['Test JavaScript Error Count']}</td>\n" +
415
+ "\t<td>#{rpt['report_hash']['Test Assert Failures']}</td>\n" +
416
+ "\t<td>#{rpt['report_hash']['Test Event Count']}</td>\n" +
417
+ "\t<td>#{rpt['report_hash']['Test Assert Count']}</td>\n" +
418
+ "\t<td>#{rpt['report_hash']['Test Exceptions']}</td>\n" +
419
+ "\t<td>#{rpt['report_hash']['Test Major Exceptions']}</td>\n" +
420
+ "\t<td>#{hours}:#{minutes}:#{seconds}</td>\n</tr>\n"
934
421
  fd.write(str)
935
422
  end
936
423
 
937
424
  hours,minutes,seconds,frac =
938
425
  Date.day_fraction_to_time(totals['running_time'])
939
426
 
427
+ totals.each do |k,v|
428
+ if ( (v.to_i > 0) && (k !~ /test\s+assert\s+count/i) &&
429
+ (k !~ /test\s+event\s+count/i) &&
430
+ (k !~ /css\s+error\s+count/i) &&
431
+ (k !~ /test\s+count/i) )
432
+
433
+ tmp = '<font color="#FF0000"><b>'
434
+ tmp += "#{v}</b></font>"
435
+ totals[k] = tmp
436
+ end
437
+ end
438
+
940
439
  totals['Test Skip Count'] = totals['Test Skip Count'].to_i()
941
- test_totals = totals['Test Count']
942
- test_totals += totals['Test Skip Count']
943
- test_totals += totals['Test Blocked Count']
944
-
945
-
946
- sub_totals = "<tr>\n"+
947
- "\t<td class=\"td_header_master\">Totals:</td>\n"+
948
- "\t<td class=\"td_footer_run\">#{totals['Test Count']}"+
949
- "/#{test_totals}</td>\n"+
950
- "\t<td class=\"td_footer_passed\">#{totals['Test Passed Count']}"+
951
- "</td>\n"+
952
- "\t<td class=\"td_footer_failed\">"+
953
- "#{totals['Test Failure Count']}</td>\n"+
954
- "\t<td class=\"td_footer_blocked\">"+
955
- "#{totals['Test Blocked Count']}</td>\n"+
956
- "\t<td class=\"td_footer_skipped\">"+
957
- "#{totals['Test Skip Count']}</td>\n"+
958
- "\t<td class=\"td_footer_watchdog\">"+
959
- "#{totals['Test WatchDog Count']}</td>\n"+
960
- "\t<td class=\"td_footer_exceptions\">"+
961
- "#{totals['Test Exceptions']}</td>\n"+
962
- "\t<td class=\"td_footer_javascript\">"+
963
- "#{totals['Test JavaScript Error Count']}</td>\n"+
964
- "\t<td class=\"td_footer_assert\">"+
965
- "#{totals['Test Assert Failures']}</td>\n"+
966
- "\t<td class=\"td_footer_other\">"+
967
- "#{totals['Test Other Failures']}\n"+
968
- "\t<td class=\"td_footer_total\">"+
969
- "#{totals['Total Failure Count']}</td>\n"+
970
- "\t<td class=\"td_footer_css\">"+
971
- "#{totals['Test CSS Error Count']}</td>\n"+
972
- "\t<td class=\"td_footer_sodawarnings\">"+
973
- "#{totals['Test Warning Count']}</td>\n"+
974
- "\t<td class=\"td_footer_times\">"+
975
- "#{hours}:#{minutes}:#{seconds}</td>\n"+
976
- "</tr>\n"
440
+ test_totals = totals['Test Count'] + totals['Test Skip Count']
441
+ sub_totals = "<tr class=\"tr_header\">\n"+
442
+ "\t<td>Totals:</td>\n"+
443
+ "\t<td>#{totals['Test Count']}</td>\n"+
444
+ "\t<td>#{totals['Test Skip Count']}</td>\n"+
445
+ "\t<td>#{totals['Test Failure Count']}</td>\n"+
446
+ "\t<td>#{totals['Test CSS Error Count']}</td>\n"+
447
+ "\t<td>#{totals['Test JavaScript Error Count']}</td>\n"+
448
+ "\t<td>#{totals['Test Assert Failures']}</td>\n"+
449
+ "\t<td>#{totals['Test Event Count']}</td>\n"+
450
+ "\t<td>#{totals['Test Assert Count']}</td>\n"+
451
+ "\t<td>#{totals['Test Exceptions']}</td>\n"+
452
+ "\t<td>#{totals['Test Major Exceptions']}</td>\n"+
453
+ "\t<td>#{hours}:#{minutes}:#{seconds}</td>\n"+
454
+ "</tr>\n" +
455
+ "<tr class=\"tr_header\">\n"+
456
+ "\t<td>Total Test Count:</td>\n"+
457
+ "\t<td colspan=\"2\">#{test_totals}</td>\n</tr>\n"
458
+
977
459
  fd.write(sub_totals)
978
460
  fd.write("</table>\n</body>\n</html>\n")
979
461
  fd.close()
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soda
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 9
10
- version: 0.0.9
9
+ - 10
10
+ version: 0.0.10
11
11
  platform: ruby
12
12
  authors:
13
13
  - Trampus Richmond
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-10 00:00:00 -08:00
18
+ date: 2010-12-13 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency