src/TestletTestCaseProxy.st
author vranyj1
Tue, 09 Aug 2011 16:21:26 +0000
branchjk_new_structure
changeset 899 ac6820bae6ff
parent 895 ddeff39cfdb9
child 901 64a889b68bef
permissions -rw-r--r--
- fixes in TestletTestCaseProxy - few more natives
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
     1
"
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
     2
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
     3
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
     4
                            SWING Research Group, Czech Technical University in Prague
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
     5
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
     6
 Parts of the code written by Claus Gittinger are under following
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
     7
 license:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
     8
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
     9
 This software is furnished under a license and may be used
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    10
 only in accordance with the terms of that license and with the
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    12
 be provided or otherwise made available to, or used by, any
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    13
 other person.  No title to or ownership of the software is
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    14
 hereby transferred.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    15
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    16
 Parts of the code written at SWING Reasearch Group [1] are MIT licensed:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    17
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    18
 Permission is hereby granted, free of charge, to any person
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    19
 obtaining a copy of this software and associated documentation
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    20
 files (the 'Software'), to deal in the Software without
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    21
 restriction, including without limitation the rights to use,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    22
 copy, modify, merge, publish, distribute, sublicense, and/or sell
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    23
 copies of the Software, and to permit persons to whom the
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    24
 Software is furnished to do so, subject to the following
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    25
 conditions:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    26
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    27
 The above copyright notice and this permission notice shall be
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    28
 included in all copies or substantial portions of the Software.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    29
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    30
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    31
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    32
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    33
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    34
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    35
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    36
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    37
 OTHER DEALINGS IN THE SOFTWARE.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    38
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    39
 [1] Code written at SWING Research Group contain a signature
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    40
     of one of the above copright owners.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    41
"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
    42
"{ Package: 'stx:libjava' }"
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
    43
859
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 855
diff changeset
    44
JavaTestCaseProxy subclass:#TestletTestCaseProxy
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
    45
	instanceVariableNames:'harness'
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
    46
	classVariableNames:'TestCases'
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
    47
	poolDictionaries:''
859
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 855
diff changeset
    48
	category:'Languages-Java-Tests-Proxies'
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
    49
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
    50
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    51
!TestletTestCaseProxy class methodsFor:'documentation'!
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    52
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    53
copyright
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    54
"
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    55
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    56
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    57
                            SWING Research Group, Czech Technical University in Prague
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    58
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    59
 Parts of the code written by Claus Gittinger are under following
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    60
 license:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    61
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    62
 This software is furnished under a license and may be used
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    63
 only in accordance with the terms of that license and with the
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    64
 inclusion of the above copyright notice.   This software may not
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    65
 be provided or otherwise made available to, or used by, any
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    66
 other person.  No title to or ownership of the software is
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    67
 hereby transferred.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    68
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    69
 Parts of the code written at SWING Reasearch Group [1] are MIT licensed:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    70
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    71
 Permission is hereby granted, free of charge, to any person
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    72
 obtaining a copy of this software and associated documentation
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    73
 files (the 'Software'), to deal in the Software without
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    74
 restriction, including without limitation the rights to use,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    75
 copy, modify, merge, publish, distribute, sublicense, and/or sell
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    76
 copies of the Software, and to permit persons to whom the
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    77
 Software is furnished to do so, subject to the following
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    78
 conditions:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    79
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    80
 The above copyright notice and this permission notice shall be
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    81
 included in all copies or substantial portions of the Software.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    82
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    83
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    84
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    85
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    86
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    87
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    88
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    89
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    90
 OTHER DEALINGS IN THE SOFTWARE.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    91
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    92
 [1] Code written at SWING Research Group contain a signature
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    93
     of one of the above copright owners.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    94
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    95
"
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 865
diff changeset
    96
! !
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
    97
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
    98
!TestletTestCaseProxy class methodsFor:'accessing'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
    99
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   100
lookupHierarchyRoot
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   101
    ^ TestletTestCaseProxy
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   102
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   103
    "Created: / 01-03-2011 / 11:41:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   104
    "Modified: / 01-03-2011 / 14:54:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   105
    "Modified: / 29-04-2011 / 10:25:26 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   106
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   107
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   108
selector: aSymbol
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   109
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   110
    ^super selector: aSymbol
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   111
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   112
    "Created: / 01-03-2011 / 11:55:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   113
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   114
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   115
!TestletTestCaseProxy class methodsFor:'private'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   116
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   117
testSelectors
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   118
    "testlet always has only one test method, but maybe for the future.."
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   119
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 895
diff changeset
   120
    ^ #( #'test(Lgnu/testlet/TestHarness;)V' ).
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   121
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   122
    "Created: / 01-03-2011 / 10:49:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   123
    "Modified: / 03-03-2011 / 00:34:39 / Marcel Hlopko <hlopik@gmail.com>"
820
beb45cce2856 Mauve test integration works.. and that's the bad news, there are sooo many failures.. so back to the beginning, let's fix natives..
hlopkmar
parents: 761
diff changeset
   124
    "Modified: / 29-05-2011 / 22:54:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 895
diff changeset
   125
    "Modified: / 09-08-2011 / 16:31:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   126
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   127
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   128
!TestletTestCaseProxy class methodsFor:'queries'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   129
854
e165b3da9adb Fixes for running tests in separate processes (required since VM often crash)
vranyj1
parents: 853
diff changeset
   130
isTestlet
e165b3da9adb Fixes for running tests in separate processes (required since VM often crash)
vranyj1
parents: 853
diff changeset
   131
	^ true
e165b3da9adb Fixes for running tests in separate processes (required since VM often crash)
vranyj1
parents: 853
diff changeset
   132
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   133
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   134
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   135
!TestletTestCaseProxy class methodsFor:'subclass creation'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   136
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   137
for: javaClass 
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   138
    "Answers a new (anonymous) testcase proxy for
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   139
     given javaClass"
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   140
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   141
    self assert: javaClass isJavaClass description: 'Not a java class'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   142
    self assert: javaClass isTestletLike
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   143
        description: 'Not a testcase-like class'.
859
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 855
diff changeset
   144
    ^self forClassNamed: javaClass name
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   145
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   146
    "Created: / 01-03-2011 / 10:30:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   147
    "Modified: / 03-03-2011 / 00:20:49 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   148
    "Modified: / 29-04-2011 / 10:21:39 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
859
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 855
diff changeset
   149
    "Modified: / 21-06-2011 / 17:08:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   150
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   151
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   152
!TestletTestCaseProxy methodsFor:'accessing'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   153
855
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   154
nameForHDTestReport
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   155
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   156
    ^(self class javaClassName copyReplaceAll:$/ with: $.) copyTo: (self class javaClassName lastIndexOf: $/) - 1.
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
    "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
   159
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
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   162
selectorForHDTestReport
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   163
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   164
    ^self class javaClassName copyFrom: 
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   165
		(self class javaClassName lastIndexOf: $/) + 1
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
809b1dc41615 use nameForHDTestReport and selectorForHDTestReport to identify test
vranyj1
parents: 854
diff changeset
   168
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   169
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   170
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   171
!TestletTestCaseProxy methodsFor:'error handling'!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   172
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   173
doesNotUnderstand: aMessage
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   174
895
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   175
    | sel arg |
892
d09b90bc4998 Few more primitives
vranyj1
parents: 877
diff changeset
   176
    sel  := aMessage selector.
895
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   177
    arg := aMessage arg1.
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   178
    (sel includes:$() ifTrue:[
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   179
        sel == #'check(Z)V' ifTrue:[
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   180
            self assert: arg == 1 description: ('Assertion failed (checkpoint: %1)' bindWith: self checkPointName).
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   181
            ^self.
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   182
        ].
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   183
        sel == #'debug(Ljava/lang/String;Z)V' ifTrue:[
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   184
            Transcript show: (Java as_ST_String: arg).
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   185
            aMessage arguments second == 1 ifTrue:[
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   186
                Transcript cr.
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   187
            ].
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   188
            ^self
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   189
        ].
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   190
        sel == #'info(Ljava/lang/String)V' ifTrue:[
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   191
            Transcript showCR: (Java as_ST_String: arg).
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   192
        ].
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   193
        sel == #'unimplemented(Ljava/lang/String;)V' ifTrue:[
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   194
            self error: ('Unimplemented harness method: %1' bindWith: (Java as_ST_String: arg)).
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   195
            ^self
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   196
        ].
892
d09b90bc4998 Few more primitives
vranyj1
parents: 877
diff changeset
   197
    ].
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   198
    ^super doesNotUnderstand: aMessage
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   199
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   200
    "Created: / 31-05-2011 / 16:30:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   201
! !
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   202
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   203
!TestletTestCaseProxy methodsFor:'private'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   204
895
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   205
checkPointName
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   206
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   207
    | jstring |
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   208
    jstring := harness instVarNamed: #checkPoint.
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   209
    ^jstring notNil ifTrue:[
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   210
        Java as_ST_String: jstring
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   211
    ] ifFalse:[
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   212
        '<no checkpoint set>'
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   213
    ]
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   214
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   215
    "Modified: / 29-04-2011 / 10:52:53 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
895
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   216
    "Created: / 09-08-2011 / 12:16:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   217
!
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   218
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   219
createHarness
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   220
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   221
    harness := (Java classForName: 'stx.libjava.tests.TestHarness') new.
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   222
    harness instVarNamed: #proxy put: self.
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   223
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   224
    "Modified: / 29-04-2011 / 10:52:53 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   225
    "Created: / 09-08-2011 / 11:29:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   226
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   227
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   228
performTest
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   229
    | handlerBlock |
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   230
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   231
    handlerBlock := [:ex | TestResult failure sunitSignalWith: ex description].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   232
895
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   233
    self createHarness.
820
beb45cce2856 Mauve test integration works.. and that's the bad news, there are sooo many failures.. so back to the beginning, let's fix natives..
hlopkmar
parents: 761
diff changeset
   234
    
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   235
    [ JavaVM unimplementedNativeMethodSignal 
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   236
        handle:
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   237
            handlerBlock
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   238
        do: [
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   239
            self javaClass new 
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   240
                perform: 'test(Lgnu/testlet/TestHarness;)V' sunitAsSymbol
895
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   241
                with: harness
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   242
       ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   243
    ] on: JavaError do: [:ex | 
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   244
        TestResult failure sunitSignalWith: ex description
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   245
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 820
diff changeset
   246
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
   247
    "/((harness instVarNamed: 'passed') = 0 ) ifTrue: [ TestResult failure sunitSignalWith: 'Test failed' ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   248
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   249
    "Created: / 01-03-2011 / 14:50:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
820
beb45cce2856 Mauve test integration works.. and that's the bad news, there are sooo many failures.. so back to the beginning, let's fix natives..
hlopkmar
parents: 761
diff changeset
   250
    "Modified: / 29-05-2011 / 23:19:07 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
895
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 893
diff changeset
   251
    "Modified: / 09-08-2011 / 12:13:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   252
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   253
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   254
!TestletTestCaseProxy class methodsFor:'documentation'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   255
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   256
version_SVN
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   257
    ^ '$Id$'
43e017ec7958 Merged with /branches/jk
vranyj1
parents:
diff changeset
   258
! !