TestResultReporter.st
author Claus Gittinger <cg@exept.de>
Tue, 02 Aug 2011 18:17:49 +0200
changeset 293 cc1f781b513a
parent 285 421cbd4c52af
child 294 2138ac31091c
permissions -rw-r--r--
changed: #examples #reportXml_perfPublisher:result:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/sunit' }"
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#TestResultReporter
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'result stream'
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'SUnit-Report'
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    10
!TestResultReporter class methodsFor:'documentation'!
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    11
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    12
documentation
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    13
"
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
    14
    Currently supported formats are:
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    15
        #xml_junit  - a junit-like format
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    16
        #xml        - same, for backward compatibility
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    17
        #tap        - perl TAP unit test format; 
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    18
                      very naive and simple, but there are tools for it...
277
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    19
        #xml_perfPublisher
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    20
                    - can be processed by the perfPublisher jenkins/hudson plugin
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
    21
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
    22
    public API entry:
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    23
        |aTestResult|
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    24
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    25
        aTestResult := aUnitTest suite run.
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    26
        TestResultReporter report:aTestResult format:#xml on: aStream
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
    27
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    28
    modifications:
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    29
        cg: I think the name 'xml' is too unspecific; 
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    30
            I may want to add a whole bunch of additional xml-based formats. 
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    31
            So I changed #xml to xml_junit (but still support the original #xml for bw-compatibility).
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    32
            You may be especially interested in xml_perfPublisher, which is great to present
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    33
            nice reports in jenkins/hudson...
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    34
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
    35
    [author:]
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
    36
        Jan Vranji
277
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    37
        documentation, tap & perfPublisher format added by Claus Gittinger
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    38
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    39
    [see also:]
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    40
        TAP 
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    41
            http://testanything.org/wiki/index.php/Main_Page
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    42
            http://search.cpan.org/~petdance/Test-Harness-2.64/lib/Test/Harness/TAP.pod
277
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    43
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    44
        perfPublisher
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    45
            http://wiki.hudson-ci.org/display/HUDSON/PerfPublisher+Plugin
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    46
"
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    47
!
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    48
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    49
examples
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    50
"
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    51
                                                                               [exBegin]
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    52
    |testResult|
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    53
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    54
    testResult := RegressionTests::IntegerTest suite run.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    55
    TestResultReporter report:testResult format:#xml_junit on:Transcript. 
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    56
                                                                               [exEnd]
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    57
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    58
                                                                               [exBegin]
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    59
    |testResult|
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    60
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    61
    testResult := RegressionTests::IntegerTest suite run.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    62
    TestResultReporter report:testResult format:#tap on:Transcript.      
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    63
                                                                               [exEnd]
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    64
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    65
                                                                               [exBegin]
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    66
    |testResult|
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
    67
293
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
    68
    testResult := RegressionTests::CollectionTests suite run.
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    69
    TestResultReporter report:testResult format:#xml_perfPublisher on:Transcript.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    70
                                                                               [exEnd]
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    71
"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    72
!
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    73
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    74
format_tap
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    75
"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    76
    sample output for one of the st/x regression-tests looks like:
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    77
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    78
1..49
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    79
ok 1 - RegressionTests::IntegerTest-testComparing (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    80
ok 2 - RegressionTests::IntegerTest-testConstants (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    81
ok 3 - RegressionTests::IntegerTest-testCreationFromBytes1 (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    82
ok 4 - RegressionTests::IntegerTest-testDivision (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    83
ok 5 - RegressionTests::IntegerTest-testEncodeDecode (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    84
ok 6 - RegressionTests::IntegerTest-testFactorial (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    85
ok 7 - RegressionTests::IntegerTest-testGCD (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    86
ok 8 - RegressionTests::IntegerTest-testILC (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    87
ok 9 - RegressionTests::IntegerTest-testInline1 (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    88
ok 10 - RegressionTests::IntegerTest-testInteger1 (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    89
ok 11 - RegressionTests::IntegerTest-testIntegerMisc (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    90
...
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    91
ok 47 - RegressionTests::IntegerTest-test_gcdBug1 (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    92
ok 48 - RegressionTests::IntegerTest-test_gcdBug2 (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    93
ok 49 - RegressionTests::IntegerTest-test_gcdBug3 (0ms)
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    94
"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    95
!
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    96
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    97
format_xml_junit
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    98
"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
    99
    sample output for one of the st/x regression-tests looks like:
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   100
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   101
<?xml version='1.0'?>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   102
<unittest-results>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   103
<test duration='0'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   104
    status='success'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   105
    ficture='RegressionTests::IntegerTest'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   106
    name='testComparing'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   107
    file='RegressionTests::IntegerTest.st'>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   108
</test>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   109
<test duration='0'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   110
    status='success'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   111
    ficture='RegressionTests::IntegerTest'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   112
    name='testConstants'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   113
    file='RegressionTests::IntegerTest.st'>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   114
</test>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   115
<test duration='0'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   116
    status='success'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   117
    ficture='RegressionTests::IntegerTest'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   118
    name='testCreationFromBytes1'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   119
    file='RegressionTests::IntegerTest.st'>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   120
</test>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   121
<test duration='0'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   122
    status='success'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   123
    ficture='RegressionTests::IntegerTest'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   124
    name='testDivision'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   125
    file='RegressionTests::IntegerTest.st'>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   126
</test>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   127
<test duration='0'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   128
    status='success'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   129
    ficture='RegressionTests::IntegerTest'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   130
    name='testEncodeDecode'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   131
    file='RegressionTests::IntegerTest.st'>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   132
</test>
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   133
...
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   134
</unittest-results>
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   135
"
277
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   136
!
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   137
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   138
format_xml_perfPublisher
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   139
"
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   140
    sample output looks like:
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   141
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   142
<report name='GeneratedReport-0' categ='GeneratedReport'>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   143
  <start>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   144
    <date format='YYYYMMDD' val='20000101' />
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   145
    <time format='HHMMSS' val='195043' />
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   146
  </start>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   147
  <test name='/file_0/test_0' executed='yes'>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   148
    <description><!![CDATA[This is the description of the test number 0 member of the 0 file.]]></description>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   149
    <targets>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   150
      <target threaded='false'>PHP</target>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   151
    </targets>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   152
    <platform name='Plateform_0' remote='unknown' capspool='unknown'>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   153
      <os>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   154
        <type><!![CDATA[Linux-2.6.26-2-amd64-x86_64-with-glibc2.3.2]]></type>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   155
        <name><!![CDATA[Linux]]></name>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   156
        <version><!![CDATA[2.6.26-2-amd64]]></version>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   157
        <distribution><!![CDATA[Linux-2.6.26-2-amd64-x86_64-with-debian-5.0.3]]></distribution>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   158
      </os>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   159
      <processor arch='x86_64'>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   160
        <frequency unit='MHz' cpufreq='2667.000' />
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   161
      </processor>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   162
      <hardware><!![CDATA[nVidia Corporation GeForce 8500 GT (rev a1)]]></hardware>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   163
      <hardware><!![CDATA[nVidia Corporation GT200 [Tesla C1060 / Tesla S1070] (rev a1)]]></hardware>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   164
      <compiler name='ifort' version='11.0 20090131' path='.' />
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   165
      <environment>{PUT HERE ALL YOUR LIBS AND THE DESCRIPTION OF YOUR TEST ENVIRONMENT}</environment>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   166
    </platform>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   167
    <commandline rank='0' time='20100128-195406.590832' duration='0.599782943726'>the_first_command_executed</commandline>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   168
    <commandline rank='1' time='20100128-195406.590832' duration='0.599782943726'>the_second_command_executed</commandline>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   169
    <result>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   170
      <success passed='no' state='70' hasTimedOut='false' />
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   171
      <compiletime unit='s' mesure='1.456467636167308' isRelevant='false' />
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   172
      <performance unit='GFLOPs' mesure='39.621634393187904' isRelevant='false' />
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   173
      <executiontime unit='s' mesure='1.5300645576307736' isRelevant='false' />
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   174
      <errorlog><!![CDATA[EXEMPLE OF ERROR LOG]]></errorlog>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   175
      <log name='NameOfLogNumber0'><!![CDATA[Here it's another of other log]]></log>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   176
      <log name='NameOfLogNumber1'><!![CDATA[Here it's another of other log]]></log>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   177
    </result>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   178
  </test>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   179
  <test name='/file_0/test_1' executed='yes'>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   180
    ...
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   181
    </result>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   182
  </test>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   183
</report>
ef4b0fd291a8 added: #format_xml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   184
"
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   185
! !
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   186
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   187
!TestResultReporter class methodsFor:'queries'!
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   188
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   189
supportedFormats
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   190
   "return a list of formats and short-info-string, as per supported format symbol"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   191
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   192
    ^ #(
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   193
        (#'xml_junit'           'a junit-like format')
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   194
        (#'xml_perfPublisher'   'xml-based format for jenkins/hudson')
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   195
        (#'tap'                 'perl TAP unit test format')
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   196
    )
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   197
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   198
    "Created: / 30-07-2011 / 10:18:18 / cg"
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   199
! !
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
!TestResultReporter class methodsFor:'reporting'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
report: aTestResult format: format as: stringOrFilename
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
    self new report: aTestResult format: format as: stringOrFilename
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
report: aTestResult format: format on: stream
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
    self new report: aTestResult format: format on: stream
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   211
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   212
    "
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   213
     self report:(RegressionTests::IntegerTest runTests) format:#xml on:Transcript
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   214
    "
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   215
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   216
    "Modified (comment): / 30-07-2011 / 09:37:53 / cg"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
!TestResultReporter methodsFor:'reporting'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   221
report:formatSymbol
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   222
    "currently supported formatSymbols:
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   223
            xml_junit, tap"
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   224
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
    |reportFormatSelector|
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   227
    reportFormatSelector := self reportFormatSelector:formatSymbol.
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
    (self respondsTo: reportFormatSelector)
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   229
        ifTrue:[self perform: reportFormatSelector]
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   230
        ifFalse:[self error:'Unsupported format: ', formatSymbol].
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   231
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   232
    "Modified (comment): / 30-07-2011 / 11:40:42 / cg"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
report: aTestResult format: format as: stringOrFilename
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
    | s |
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
    s := stringOrFilename asFilename writeStream.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
    [ self report: aTestResult format: format on: s]
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
	ensure:[s close].
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
report: aTestResult format: aSymbol on: aStream
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
    result := aTestResult.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
    stream := aStream.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
    self report: aSymbol
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
reportFormatSelector:format
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
    ^ ('report' , format asString capitalized) asSymbol
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   254
!TestResultReporter methodsFor:'reporting - tap'!
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   255
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   256
reportTap
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   257
    "TAP (perl unit test) report format"
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   258
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   259
    |idx reportWithStatus|
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   260
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   261
    "example:
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   262
        1..4
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   263
        ok 1 - Input file opened
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   264
        not ok 2 - First line of the input valid
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   265
        ok 3 - Read the rest of the file
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   266
        not ok 4 - Summarized correctly # TODO Not written yet
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   267
    "
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   269
    "/ what about not-executed tests - why only runCount ?
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   270
    stream nextPutLine: ('1..%1' bindWith:result runCount).
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   271
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   272
    reportWithStatus := 
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   273
        [:tests :status |
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   274
            tests do:[:each | self reportTapTest: each index: idx result: status. idx := idx + 1 ]
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   275
        ].
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   276
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   277
    idx := 1.
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   278
    reportWithStatus value:result passed value:#success.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   279
    reportWithStatus value:result failures value:#failure.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   280
    reportWithStatus value:result errors value:#error.
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   281
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   282
    "Created: / 30-07-2011 / 10:12:31 / cg"
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   283
!
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   284
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   285
reportTapTest: test index:index result: testResult
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   286
    | testClassName executionTime  testDescription statusString|
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   287
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   288
    testClassName := self sunitNameOf: test class.
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   289
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   290
    "most tests do not know, and return nil here!!"
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   291
    executionTime := test executionTime ? 0.0.
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   292
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   293
    testDescription := '%1-%2 (%3ms)'
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   294
                            bindWith:testClassName
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   295
                            with:test selector
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   296
                            with:executionTime.
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   297
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   298
    statusString := (testResult == #success)
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   299
                        ifTrue:['ok']
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   300
                        ifFalse:['not ok'].
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   301
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   302
    stream nextPutLine:('%1 %2 - %3'
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   303
                            bindWith:statusString
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   304
                            with:index
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   305
                            with:testDescription).
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   306
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   307
    "Created: / 30-07-2011 / 10:28:06 / cg"
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   308
! !
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   309
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   310
!TestResultReporter methodsFor:'reporting - xml-junit'!
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
reportXml
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   313
    "backward compatible: JUnit-like XML unittest report format"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   314
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   315
    self reportXml_junit
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   316
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   317
    "Created: / 30-07-2011 / 11:41:24 / cg"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   318
!
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   319
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   320
reportXml_junit
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   321
    "JUnit-like XML unittest report format"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
    stream
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   324
        nextPutLine: '<?xml version="1.0"?>';
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   325
        nextPutLine: '<unittest-results>'.
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   327
    result passed   do:[:each|self reportXml_junitTest: each result: #success].
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   328
    result failures do:[:each|self reportXml_junitTest: each result: #failure].
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   329
    result errors   do:[:each|self reportXml_junitTest: each result: #error].
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
    stream
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   332
        nextPutLine: '</unittest-results>'
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   333
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   334
    "Created: / 30-07-2011 / 11:37:10 / cg"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   337
reportXml_junitTest: test result: testResult
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    "
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
    Example:
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    <test
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   342
        duration='0.0188629627228'
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   343
        status='error'
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   344
        fixture='bitten.tests.web_ui.SourceFileLinkFormatterTestCase'
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   345
        name='test_format_link_not_in_repos_with_line'
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   346
        file='/usr/src/trac-bitten-0.6b2.dfsg/bitten/tests/web_ui.py'>
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
    "
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   349
    | testClassName executionTime |
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   350
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
    testClassName := self sunitNameOf: test class.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   353
    "most tests do not know, and return nil here!!"
274
b334cbea7365 changed: #reportXml_junitTest:result:
Claus Gittinger <cg@exept.de>
parents: 273
diff changeset
   354
    executionTime := (test executionTime ? 0.0) printString.
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   355
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
    stream
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   357
        nextPutAll:'<test duration="'; nextPutAll:executionTime; nextPutLine:'"'; 
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   358
        tab; nextPutAll:'status="'; nextPutAll: testResult; nextPutLine:'"';
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   359
        tab; nextPutAll:'ficture="'; nextPutAll: testClassName; nextPutLine:'"';
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   360
        tab; nextPutAll:'name="'; nextPutAll: test selector; nextPutLine:'"';
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   361
        "It seems that some tools requires the file attributes. So we supply one :-)"
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   362
        tab; nextPutAll:'file="'; nextPutAll: testClassName , '.st'; nextPutLine:'">'.
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   364
    testResult ~= #success ifTrue:[self reportXml_junitTraceback: test].
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
    stream nextPutLine:'</test>'.
267
7d2e67524850 documented the code (sigh)
Claus Gittinger <cg@exept.de>
parents: 222
diff changeset
   367
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   368
    "Created: / 30-07-2011 / 11:37:47 / cg"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   371
reportXml_junitTraceback: test
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
    "
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   374
        Prints a traceback to the stream.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   375
        This is dialect-specific, so we have to check...
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
    "
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
    "Smalltalk/X dialect detection..."
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
    ((Smalltalk respondsTo: #isSmalltalkX) and:[Smalltalk isSmalltalkX])
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   380
        ifTrue:[^self reportXml_junitTracebackStX: test]
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   381
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   382
    "Created: / 30-07-2011 / 11:37:36 / cg"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   385
reportXml_junitTracebackStX: test
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
    stream nextPutLine:'<traceback><!![CDATA['.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
    [ test debug ]
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   389
        on: GenericException
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   390
        do: [:ex|
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   391
            ex suspendedContext fullPrintAllOn: stream].
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
    stream nextPutLine:']]></traceback>'.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
    "Modified: / 07-12-2009 / 14:06:48 / Jan Vrany <jan.vrant@fit.cvut.cz>"
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   396
    "Created: / 30-07-2011 / 11:37:26 / cg"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   397
! !
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   398
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   399
!TestResultReporter methodsFor:'reporting - xml-perfPublisher'!
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   400
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   401
reportXml_perfPublisher
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   402
    "xml-based format for hudson/jenkins"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   403
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   404
    |reportName reportCategory testClass startTime|
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   405
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   406
    reportName := result name.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   407
    reportCategory := 'uncategorized'.  "/ it is a required attribute; so what should we use ?
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   408
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   409
    (testClass := Smalltalk at:reportName asSymbol) isBehavior ifTrue:[
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   410
        reportCategory := testClass category.  "/ at least, something to show
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   411
    ].
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   412
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   413
    "/ compute the startTime from the earliest time found in the set of tests
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   414
    startTime := result timestamp.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   415
    startTime isNil ifTrue:[
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   416
        startTime := (result tests 
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   417
                        collect:[:each | each startTime]
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   418
                        thenSelect:[:timeOrNil | timeOrNil notNil]) min.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   419
    ].
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   420
    startTime := (startTime ? Time now) asTime.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   421
    
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   422
    stream
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   423
        nextPutLine: '<?xml version="1.0"?>';
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   424
        nextPutLine:('<report name="%1" categ="%2">' bindWith:reportName with:reportCategory);
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   425
        nextPutLine:('  <start>');
278
b8c0fa1c1934 changed: #reportXml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 277
diff changeset
   426
        nextPutLine:('    <date format="YYYYMMDD" val="%1" />' bindWith:(Date today printStringFormat:'%y%m%d'));
b8c0fa1c1934 changed: #reportXml_perfPublisher
Claus Gittinger <cg@exept.de>
parents: 277
diff changeset
   427
        nextPutLine:('    <time format="HHMMSS" val="%1" />' bindWith:(startTime printStringFormat:'%h%m%s'));
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   428
        nextPutLine:('  </start>').
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   429
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   430
    result passed   do:[:each|self reportXml_perfPublisher: each result: #success].
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   431
    result failures do:[:each|self reportXml_perfPublisher: each result: #failure].
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   432
    result errors   do:[:each|self reportXml_perfPublisher: each result: #error].
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   433
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   434
    stream
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   435
        nextPutLine: '</report>'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   436
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   437
    "Created: / 30-07-2011 / 11:45:15 / cg"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   438
!
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   439
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   440
reportXml_perfPublisher: test result: testResult
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   441
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   442
    "
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   443
    Example:
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   444
    <test
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   445
        name='test_format_link_not_in_repos_with_line'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   446
        executed='exec-status'
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   447
      <result>  
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   448
        <success passed='result-status' state='result-state'/>
293
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   449
        <errorlog><!![CDATA[EXEMPLE OF ERROR LOG]]></errorlog>
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   450
      </result>  
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   451
    </test>  
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   452
    "
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   453
293
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   454
    |testClassName executionTime testName testDescription 
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   455
     successPassed successState exceptionInfo
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   456
     compilerName compilerVersion compilerConfiguration compilerVersionDate 
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   457
     timeUnit timeMeasure 
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   458
     sysInfo osType osVersion cpuType|
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   459
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   460
    testClassName := self sunitNameOf: test class.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   461
    testName := test selector.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   462
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   463
    "most tests do not know, and return nil here!!"
285
421cbd4c52af changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
   464
    executionTime := test executionTime ? 0.    "/ millis
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   465
    testDescription := '%1-%2' bindWith:testClassName with:testName.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   466
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   467
    successPassed := (testResult == #success) ifTrue:['yes'] ifFalse:['no'].
293
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   468
    testResult ~~ #success ifTrue:[
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   469
        exceptionInfo := test exceptionInfoString.
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   470
self halt.
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   471
    ].
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   472
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   473
    successState := 'foo'.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   474
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   475
    "/ caveat: the following needs to be made dialect-specific
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   476
    compilerName := 'Smalltalk/X'.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   477
    compilerVersion := Smalltalk versionString.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   478
    compilerConfiguration := Smalltalk configuration.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   479
    compilerVersionDate := Smalltalk versionDate.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   480
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   481
    sysInfo := OperatingSystem getSystemInfo.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   482
    osType := (sysInfo at:#osType ifAbsent:'?').
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   483
    osVersion := (sysInfo at:#release ifAbsent:'?').
273
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   484
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   485
    cpuType := (sysInfo at:#cpuType ifAbsent:'?').
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   486
    "/ cpuSpeed := (sysInfo at:#cpuSpeed ifAbsent:'?').
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   487
275
a215bd80225f changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
   488
    timeUnit := 'ms'.
285
421cbd4c52af changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
   489
    timeMeasure := executionTime.
275
a215bd80225f changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
   490
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   491
    stream
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   492
        nextPutLine:('<test name="%1" executed="yes">' bindWith: testName);
279
599cf9a3f347 changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 278
diff changeset
   493
        nextPutLine:('  <description><!![CDATA[%1]]></description>' bindWith: testDescription);
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   494
        nextPutLine:'  <platform>';
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   495
        nextPutLine:'    <os>';
273
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   496
        nextPutLine:('      <type><!![CDATA[%1]]></type>' bindWith:osType);
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   497
        nextPutLine:('      <version><!![CDATA[%1]]></version>' bindWith:osVersion);
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   498
        nextPutLine:'    </os>';
273
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   499
        nextPutLine:('    <processor arch="%1">' bindWith:cpuType);
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   500
        "/ nextPutLine:('      <frequency> unit="Mhz" cpufreq="%1" />' bindWith:cpuSpeed);
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   501
        nextPutLine:'    </processor>';
273
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   502
        nextPutLine:('    <compiler name="%1" version="%2" versiondate="%3" configuration="%4" />' 
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   503
                            bindWith:compilerName with:compilerVersion 
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   504
                            with:compilerVersionDate with:compilerConfiguration);
273
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   505
        "/ nextPutLine:'    <environment />';
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   506
        nextPutLine:'  </platform>';
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   507
        nextPutLine:'  <result>';
273
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   508
        nextPutLine:('    <success passed="%1" state="100" />' 
72af4634684c changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 272
diff changeset
   509
                            bindWith:successPassed with:successState);
285
421cbd4c52af changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
   510
        "/ cg: in the perfPublisher documentation, I found "mesure".
421cbd4c52af changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
   511
        "/ I am not sure, if that was a typo, or is actually what is expected...
421cbd4c52af changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
   512
        "/ to be on the save side, I generate both a mesure and a measure attribute,
421cbd4c52af changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 283
diff changeset
   513
        "/ so it will work, even if they ever fix perfPublisher's xml parser.
275
a215bd80225f changed: #reportXml_perfPublisher:result:
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
   514
        nextPutLine:('    <executiontime unit="%1" mesure="%2" measure="%2" isRelevant="yes" />' 
293
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   515
                            bindWith:timeUnit with:timeMeasure).
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   516
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   517
    exceptionInfo notNil ifTrue:[
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   518
        stream
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   519
            nextPutLine:'    <errorlog><!![CDATA[';
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   520
            nextPutAll:exceptionInfo;
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   521
            nextPutLine:']]></errorlog>'.
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   522
        ].
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   523
    stream
272
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   524
        nextPutLine:'  </result>'.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   525
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   526
"/
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   527
"/             nextPutAll:'duration="'; nextPutAll:executionTime; nextPutLine:'"'; 
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   528
"/        tab; nextPutAll:'status="'; nextPutAll: testResult; nextPutLine:'"';
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   529
"/        tab; nextPutAll:'ficture="'; nextPutAll: testClassName; nextPutLine:'"';
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   530
"/        "It seems that some tools requires the file attributes. So we supply one :-)"
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   531
"/        tab; nextPutAll:'file="'; nextPutAll: testClassName , '.st'; nextPutLine:'">'.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   532
"/
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   533
"/    testResult ~= #success ifTrue:[self reportXml_junitTraceback: test].
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   534
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   535
    stream nextPutLine:'</test>'.
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   536
492c13b42f3b unfinished perfPublisher support
Claus Gittinger <cg@exept.de>
parents: 268
diff changeset
   537
    "Created: / 30-07-2011 / 12:19:03 / cg"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
!TestResultReporter methodsFor:'utilities'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
sunitNameOf: aClass
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
    "No all SUnit versions comes with sunitName
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
     (at least Smalltalk/X 3.1)"
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
    ^(aClass respondsTo:#sunitName)
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
	ifTrue:[aClass sunitName]
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
	ifFalse:[aClass printString]
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
!TestResultReporter class methodsFor:'documentation'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
version
293
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   555
    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestResultReporter.st,v 1.14 2011-08-02 16:17:49 cg Exp $'
268
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   556
!
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   557
02c41854a7b8 added tap (perl unit test) output format
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
   558
version_CVS
293
cc1f781b513a changed:
Claus Gittinger <cg@exept.de>
parents: 285
diff changeset
   559
    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestResultReporter.st,v 1.14 2011-08-02 16:17:49 cg Exp $'
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
version_SVN
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
    ^ '§Id§'
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
! !