src/JUnitTestCaseProxy.st
author vranyj1
Wed, 15 Jun 2011 08:47:24 +0000
branchjk_new_structure
changeset 856 dff0d4806336
parent 855 809b1dc41615
child 859 56bc5e063b7d
permissions -rw-r--r--
JUnitTestCaseProxy: fix in selectorForHDTestRunner
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     1
"{ Package: 'stx:libjava' }"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     3
TestCase subclass:#JUnitTestCaseProxy
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     4
	instanceVariableNames:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     5
	classVariableNames:'TestCases'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     6
	poolDictionaries:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     7
	category:'Languages-Java-JUnit'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     8
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     9
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    10
JUnitTestCaseProxy class instanceVariableNames:'javaClassName'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    11
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    12
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    13
 The following class instance variables are inherited by this class:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    14
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    15
	TestCase - lastTestRunResultOrNil lastTestRunsPassedTests lastTestRunsFailedTests lastTestRunsErrorTests
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    16
	TestAsserter - 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    17
	Object - 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    18
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    19
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    20
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    21
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    22
!JUnitTestCaseProxy class methodsFor:'initialization'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    23
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    24
initialize
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    25
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    26
    TestCases := Dictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    27
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    28
    "Created: / 01-03-2011 / 10:43:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    29
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    30
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    31
setJavaClassName: aSymbol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    32
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    33
    javaClassName ifNotNil:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    34
        [self error: 'Attempting to set java class name twice'].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    35
    javaClassName := aSymbol.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    36
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    37
    "Created: / 01-03-2011 / 10:43:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    38
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    39
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    40
!JUnitTestCaseProxy class methodsFor:'accessing'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    41
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    42
javaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    43
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    44
    ^Java at: javaClassName
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    45
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    46
    "Created: / 01-03-2011 / 11:30:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    47
    "Modified: / 01-03-2011 / 14:48:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    48
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    49
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    50
javaClassName
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    51
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    52
    ^javaClassName
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    53
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    54
    "Created: / 01-03-2011 / 11:30:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    55
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    56
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    57
lookupHierarchyRoot
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    58
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    59
    ^JUnitTestCaseProxy
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    60
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    61
    "Created: / 01-03-2011 / 11:41:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    62
    "Modified: / 01-03-2011 / 14:54:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    63
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    64
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    65
selector: aSymbol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    66
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    67
    ^super selector: aSymbol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    68
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    69
    "Created: / 01-03-2011 / 11:55:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    70
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    71
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    72
!JUnitTestCaseProxy class methodsFor:'private'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    73
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    74
testSelectors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    75
    | javaClass |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    76
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    77
    self == JUnitTestCaseProxy ifTrue:[ ^ #() ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    78
    javaClass := self javaClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    79
    (javaClass includesBehavior:(JavaVM classForName:'junit.framework.TestCase')) 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    80
        ifTrue:[ ^ javaClass selectors select:[:sel | sel startsWith:'test' ]. ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    81
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    82
    ^ (javaClass 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    83
        selectMethodsAnnotatedWith:(JavaVM classForName:'org.junit.Test') typeName) 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    84
            collect:[:method | method selector ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    85
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    86
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    87
        (JUnitTestCase for: JAVA::stx::libjava::tests::junit::JUnit3Tests)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    88
            testSelectors"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    89
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    90
    "Created: / 01-03-2011 / 10:49:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    91
    "Modified: / 03-03-2011 / 00:34:39 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    92
    "Modified: / 04-03-2011 / 00:05:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    93
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    94
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    95
!JUnitTestCaseProxy class methodsFor:'queries'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    96
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    97
isAbstract
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    98
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    99
    ^self == JUnitTestCaseProxy
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   100
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   101
    "Created: / 28-02-2011 / 22:32:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   102
    "Modified: / 01-03-2011 / 14:54:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
854
e165b3da9adb Fixes for running tests in separate processes (required since VM often crash)
vranyj1
parents: 752
diff changeset
   103
e165b3da9adb Fixes for running tests in separate processes (required since VM often crash)
vranyj1
parents: 752
diff changeset
   104
!
e165b3da9adb Fixes for running tests in separate processes (required since VM often crash)
vranyj1
parents: 752
diff changeset
   105
e165b3da9adb Fixes for running tests in separate processes (required since VM often crash)
vranyj1
parents: 752
diff changeset
   106
shouldFork
e165b3da9adb Fixes for running tests in separate processes (required since VM often crash)
vranyj1
parents: 752
diff changeset
   107
e165b3da9adb Fixes for running tests in separate processes (required since VM often crash)
vranyj1
parents: 752
diff changeset
   108
	^true
e165b3da9adb Fixes for running tests in separate processes (required since VM often crash)
vranyj1
parents: 752
diff changeset
   109
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   110
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   111
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   112
!JUnitTestCaseProxy class methodsFor:'subclass creation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   113
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   114
for:javaClass 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   115
    "Answers a new (anonymous) testcase proxy for
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   116
     given javaClass"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   117
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   118
    | meta  cls  name |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   119
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   120
    self assert:javaClass isJavaClass description:'Not a java class'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   121
    self assert:javaClass isTestCaseLike
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   122
        description:'Not a testcase-like class'.    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   123
    name := javaClass name.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   124
    TestCases at: name ifPresent:[:c|^c].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   125
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   126
    meta := Metaclass new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   127
    meta setSuperclass: JUnitTestCaseProxy class.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   128
    meta instSize: JUnitTestCaseProxy class instSize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   129
    cls := meta new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   130
    cls setSuperclass: JUnitTestCaseProxy.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   131
    cls flags: JUnitTestCaseProxy flags.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   132
    cls instSize: JUnitTestCaseProxy instSize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   133
    cls setJavaClassName: name.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   134
    cls setName: ('JUnitTestCase for: (Java classForName: ', name storeString, ')') asSymbol.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   135
    cls setCategory: javaClass category.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   136
    TestCases at: name put: cls.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   137
        ^cls
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   138
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   139
    "Created: / 01-03-2011 / 10:30:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   140
    "Modified: / 03-03-2011 / 00:20:49 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   141
    "Modified: / 01-04-2011 / 16:02:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   142
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   143
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   144
!JUnitTestCaseProxy methodsFor:'accessing'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   145
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   146
javaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   147
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   148
    | javaClass |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   149
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   150
    self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   151
        assert: (javaClass := self class javaClass) isJavaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   152
        description: 'java class does not exists'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   153
    ^javaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   154
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   155
    "Created: / 01-03-2011 / 14:48:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
855
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   156
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   157
!
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   158
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   159
nameForHDTestReport
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   160
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   161
    ^self class javaClassName copyReplaceAll:$/ with: $.
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   162
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   163
    "Created: / 01-04-2011 / 16:10:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   164
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   165
!
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   166
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   167
selectorForHDTestReport
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   168
856
dff0d4806336 JUnitTestCaseProxy: fix in selectorForHDTestRunner
vranyj1
parents: 855
diff changeset
   169
	^testSelector upTo:$(
855
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   170
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   171
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   172
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   173
!JUnitTestCaseProxy methodsFor:'private'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   174
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   175
performTest
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   176
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   177
    <resource: #skipInDebuggersWalkBack>
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   178
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   179
    [
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   180
    self javaClass new perform: testSelector sunitAsSymbol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   181
    ] on: JavaError do: [:ex|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   182
        "This is the tricky part. We have to auto-magically convert
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   183
         jUnit's AssertionFailedError to sUnits TestFailure's"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   184
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   185
        "Bad, bad, I know..."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   186
        (ex parameter class name == #'junit/framework/AssertionFailedError')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   187
            ifTrue:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   188
                [ TestResult failure sunitSignalWith: ex description ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   189
            ifFalse:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   190
                [ ex pass ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   191
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   192
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   193
    "Created: / 01-03-2011 / 14:50:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   194
    "Modified: / 04-03-2011 / 00:07:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   195
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   196
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   197
!JUnitTestCaseProxy class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   198
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   199
version_SVN
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   200
    ^ '$Id$'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   201
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   202
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   203
JUnitTestCaseProxy initialize!