reports/Builder__ReportRunner.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 29 Jun 2013 23:34:55 +0200
changeset 188 6eeac31d0432
parent 184 5f75ffc9642b
child 189 bd2bed33aba7
permissions -rw-r--r--
Workaround for stc bug Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/builder/reports' }"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Builder }"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
StandaloneStartup subclass:#ReportRunner
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'Builder-Reports'
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
147
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    12
ReportRunner class instanceVariableNames:'parser report debugging setup teardown'
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
 The following class instance variables are inherited by this class:
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	StandaloneStartup - MutexHandle
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
    18
	Object -
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!ReportRunner class methodsFor:'initialization'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
initialize
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    super initialize.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    debugging := Transcript notNil and:[Transcript isView].
184
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
    29
    self setupSignalHandlers.
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    "Created: / 06-11-2011 / 22:07:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
184
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
    32
    "Modified: / 28-06-2013 / 01:13:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
!ReportRunner class methodsFor:'command line options'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
cmdlineOptionOutputDirectory
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    ^CmdLineOption new
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
        short: $D;
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
        long: 'output-directory';
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
        description: 'Default report output directory';
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
    43
        action:[:outputdir |
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
            Report outputDir: outputdir.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
            self  verboseInfo:'Report dir: ' , Report outputDir asString.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
        ]
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    "Created: / 06-11-2011 / 09:33:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
cmdlineOptionReport
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    ^CmdLineOption new
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
        short: $r;
97
c6a5d1c4df41 changed: #cmdlineOptionReport
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 92
diff changeset
    55
        long: 'report';
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
        description: 'Report to run';
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
        action:[:option |
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
            report := Smalltalk at: option asSymbol.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
            report isNil ifTrue:[
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
    60
                Stderr nextPutLine:('ERROR: Report class %1 does not exist (forgot to load package?)' bindWith: option).
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
    61
                "/Smalltalk exit: 1.
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
            ].
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
            report := report new.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
            parser options addAll: (CmdLineOption optionsFor: report)
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
        ]
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    "Created: / 06-11-2011 / 09:45:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
97
c6a5d1c4df41 changed: #cmdlineOptionReport
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 92
diff changeset
    68
    "Modified: / 31-10-2012 / 12:40:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
147
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    69
!
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    70
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    71
cmdlineOptionSetup
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    72
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    73
    ^CmdLineOption new
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    74
        short: $s;
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    75
        long: 'setup';
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    76
        description: 'Code executed before tests are loaded and executed';
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
    77
        action:[:option |
147
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    78
            setup := option
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    79
        ]
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    80
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    81
    "Created: / 15-05-2013 / 16:50:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    82
!
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    83
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    84
cmdlineOptionTeardown
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    85
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    86
    ^CmdLineOption new
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    87
        short: $t;
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    88
        long: 'setup';
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    89
        description: 'Code executed after all tests are executed';
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
    90
        action:[:option |
147
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    91
            teardown := option
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    92
        ]
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    93
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
    94
    "Created: / 15-05-2013 / 16:50:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
184
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
    97
!ReportRunner class methodsFor:'debugging'!
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
    98
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
    99
dumpProcess: aProcess
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   100
    Stderr cr; cr
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   101
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   102
    "Created: / 27-06-2013 / 23:41:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   103
!
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   104
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   105
dumpProcess: aProcess on: aStream
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   106
    | ctx |
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   107
    aStream cr; cr.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   108
    aStream nextPutAll: '== ['; nextPutAll: aProcess id printString; nextPutAll:'] '; nextPutAll: aProcess name; nextPutAll: ' =='; cr.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   109
    aStream cr.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   110
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
   111
    aProcess == Processor activeProcess ifTrue:[ctx := thisContext] ifFalse:[ctx := aProcess suspendedContext].
184
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   112
    [ ctx notNil ] whileTrue:[
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   113
        aStream nextPutAll: '  '.
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
   114
        ctx fullPrintOn: aStream.
184
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   115
        aStream cr.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   116
        ctx := ctx sender.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   117
    ].
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   118
    aStream cr.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   119
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   120
    "
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   121
        self dumpProcess: Processor activeProcess on: Transcript.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   122
    "
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   123
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   124
    "Created: / 28-06-2013 / 01:00:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   125
!
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   126
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   127
dumpProcesses
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   128
    self dumpProcessesOn: Stderr
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   129
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   130
    "
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   131
    self dumpProcessesOn: Transcript.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   132
    "
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   133
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   134
    "Created: / 27-06-2013 / 23:41:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   135
    "Modified (comment): / 28-06-2013 / 01:06:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   136
!
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   137
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   138
dumpProcessesOn: aStream
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   139
    Process allInstancesDo:[:process|
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   140
        process isDead ifFalse:[
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   141
            self dumpProcess: process on: aStream
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   142
        ]
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   143
    ]
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   144
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   145
    "Created: / 27-06-2013 / 23:42:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   146
! !
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   147
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
!ReportRunner class methodsFor:'defaults'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
77
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   150
allowCoverageMeasurementOption
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   151
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   152
    ^false "CoverageReport will do that"
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   153
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   154
    "Created: / 13-01-2012 / 11:48:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   155
!
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   156
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
allowDebugOption
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
    ^true
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
    "Created: / 21-07-2011 / 09:48:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
!ReportRunner class methodsFor:'multiple applications support'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
applicationRegistryPath
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    "the key under which this application stores its process ID in the registry
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
     as a collection of path-components.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
     i.e. if #('foo' 'bar' 'baz') is returned here, the current applications ID will be stored
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
     in HKEY_CURRENT_USER\Software\foo\bar\baz\CurrentID.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
     (would also be used as a relative path for a temporary lock file under unix).
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
     Used to detect if another instance of this application is already running."
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
    ^ #('exept' 'smalltallx' 'hdreportrunner')
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
    "Modified: / 21-07-2011 / 09:43:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
applicationUUID
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
    "answer an application-specific unique uuid.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
     This is used as the name of some exclusive OS-resource, which is used to find out,
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
     if another instance of this application is already running.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
     Under win32, a mutex is used; under unix, an exclusive file in the tempDir could be used."
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
    ^ '99f65c80-b375-11e0-86ad-0013e89c0459' asUUID
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
    "Modified: / 21-07-2011 / 09:44:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
!ReportRunner class methodsFor:'startup'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
184
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   192
handleSIGTERM
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   193
    self dumpProcesses.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   194
    debugging ifFalse:[
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   195
        Smalltalk exit:127.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   196
    ].
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   197
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   198
    "Created: / 27-06-2013 / 23:10:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   199
    "Modified: / 28-06-2013 / 01:08:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   200
!
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   201
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   202
handleSIGUSR2
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   203
    self dumpProcesses
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   204
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   205
    "Created: / 27-06-2013 / 23:10:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   206
!
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   207
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   208
setupSignalHandlers
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   209
    "On UNIX, this sets up a custom signal handler on SIGUSR2 and SIGTERM that
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   210
     dumps stacks on all threads"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   211
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
   212
    | sigusr2 sigterm |
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
   213
184
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   214
    OperatingSystem isUNIXlike ifTrue:[
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
   215
184
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   216
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   217
        sigterm := Signal new.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   218
        sigterm handlerBlock: [:ex | self handleSIGTERM].
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   219
        OperatingSystem operatingSystemSignal:OperatingSystem sigTERM install: sigterm.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   220
        OperatingSystem enableSignal: OperatingSystem sigTERM.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   221
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   222
        sigusr2 := Signal new.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   223
        sigusr2 handlerBlock: [:ex | self handleSIGUSR2].
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   224
        OperatingSystem operatingSystemSignal:OperatingSystem sigUSR2 install: sigusr2.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   225
        OperatingSystem enableSignal: OperatingSystem sigUSR2.
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   226
    ].
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   227
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   228
    "
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
   229
    OperatingSystem sendSignal: OperatingSystem sigUSR2 to: OperatingSystem getProcessId
184
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   230
    "
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   231
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   232
    "Created: / 27-06-2013 / 20:57:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   233
    "Modified: / 28-06-2013 / 01:11:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   234
!
5f75ffc9642b Install signal handlers for SIGUSR2 and SIGTERM that dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   235
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
setupToolsForDebug
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
    super setupToolsForDebug.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
    debugging := true.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
    "Created: / 06-11-2011 / 22:06:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
77
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   242
!
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   243
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   244
usage
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   245
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   246
    Stderr nextPutAll:'usage: report-runner.';
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   247
           nextPutAll: (OperatingSystem isMSWINDOWSlike ifTrue:['bat'] ifFalse:['sh']);
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   248
           nextPutAll: ' [-D <dir>] -r <report> [-p <package1> [-p <package2> [...]]]'; cr.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   249
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   250
    Stderr nextPutLine:'  --help .................. output this message'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   251
    Stderr nextPutLine:'  --verbose ............... verbose startup'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   252
    Stderr nextPutLine:'  --noBanner .............. no splash screen'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   253
    Stderr nextPutLine:'  --newAppInstance ........ start as its own application process (do not reuse a running instance)'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   254
    self allowScriptingOption ifTrue:[
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   255
        Stderr nextPutLine:'  --scripting portNr ...... enable scripting via port (or stdin/stdOut, if 0)'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   256
    ].
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   257
    self allowDebugOption ifTrue:[
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   258
        Stderr nextPutLine:'  --debug ................. enable Debugger'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   259
    ].
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   260
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   261
    "/                 '  ......................... '
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   262
    Stderr nextPutLine:'  -D <dir>'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   263
    Stderr nextPutLine:'  --output-directory=<dir>  directory where report files will go'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   264
    Stderr nextPutLine:'  -r <report class>'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   265
    Stderr nextPutLine:'  --report=<report class> . report to run. available reports:'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   266
    Report available do:[:report|
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   267
        Stderr nextPutAll:'      '; nextPutLine: report name
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   268
    ].
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   269
    Stderr nextPutLine:'  -p <package>'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   270
    Stderr nextPutLine:'  --package=<package> ..... package to run report on'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   271
    Stderr nextPutLine:'                            May be specified multiple times.'.
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   272
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   273
    "
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   274
    self usage
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   275
    "
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   276
90d1dd533087 --help improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 72
diff changeset
   277
    "Created: / 13-01-2012 / 11:48:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
!ReportRunner class methodsFor:'startup-to be redefined'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
102
a63aa44303e3 changed: #main: - support for not-officially-supported VM options
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   282
main:argv
143
252c91b7f96d class: Builder::ReportRunner
Stefan Vogel <sv@exept.de>
parents: 102
diff changeset
   283
    "Process command line arguments"
102
a63aa44303e3 changed: #main: - support for not-officially-supported VM options
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 97
diff changeset
   284
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
    parser := CmdLineParser new.
144
b38e5af6b408 class: Builder::ReportRunner
Stefan Vogel <sv@exept.de>
parents: 143
diff changeset
   286
    CmdLineOptionError autoload.
b38e5af6b408 class: Builder::ReportRunner
Stefan Vogel <sv@exept.de>
parents: 143
diff changeset
   287
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
   288
    [
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
   289
        parser parse: argv for: self.
143
252c91b7f96d class: Builder::ReportRunner
Stefan Vogel <sv@exept.de>
parents: 102
diff changeset
   290
    ] on:CmdLineOptionError do:[:ex|
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
        Stderr nextPutLine:'Error when processing options: ', ex description.
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
   292
        debugging ifFalse:[
92
545ea8f561b0 changed: #main:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   293
            ex suspendedContext fullPrintAllOn: Stderr.
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
            Stderr nextPutLine:'Exiting'.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
            Smalltalk exit:1.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
        ] ifTrue:[
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
            ex pass
188
6eeac31d0432 Workaround for stc bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 184
diff changeset
   298
        ]
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
    ].
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
    [
147
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   302
        setup notNil ifTrue:[Compiler evaluate: setup].
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   303
        [
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   304
            report run.
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   305
        ] ensure:[
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   306
            teardown notNil ifTrue:[Compiler evaluate: teardown].
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   307
        ].
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
        debugging ifFalse:[
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
            Smalltalk exit:0.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
        ].
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
    ] on: Error do:[:ex|
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
        Stderr nextPutAll:'Error when running tests: '.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
        Stderr nextPutAll:ex description; cr.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
        ex suspendedContext printAllOn:Stderr.
147
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   315
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   316
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
        debugging ifFalse:[
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
            Smalltalk exit:1.
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
        ] ifTrue:[
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
            ex pass
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
        ]
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
    ]
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
147
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   324
    "Modified: / 15-05-2013 / 16:52:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
!ReportRunner class methodsFor:'documentation'!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
version
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
    ^ '$Header$'
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
version_CVS
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
    ^ '$Header$'
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
!
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
version_SVN
147
9f2935d68582 class: Builder::ReportRunner
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 144
diff changeset
   338
    ^ '$Id$'
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
! !
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
143
252c91b7f96d class: Builder::ReportRunner
Stefan Vogel <sv@exept.de>
parents: 102
diff changeset
   341
72
c23d29fe0ec6 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
ReportRunner initialize!