RegressionTests__VMCrashTestCase.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 18 Jun 2021 17:01:51 +0100
branchjv
changeset 2598 5e6256e136d4
parent 1974 f2eaf05205d6
permissions -rwxr-xr-x
Fix `IntegerTest` Do not use #deepCopy with desctructive operations, #deepCopy on numbers is an no-op (they're immutable, except internal destructive helpers)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1974
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
     1
"
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
     2
 COPYRIGHT (c) Claus Gittinger / eXept Software AG
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
     3
 COPYRIGHT (c) 2016-2017 Jan Vrany
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
     4
              All Rights Reserved
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
     5
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
     6
 This software is furnished under a license and may be used
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
     7
 only in accordance with the terms of that license and with the
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
     8
 inclusion of the above copyright notice.   This software may not
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
     9
 be provided or otherwise made available to, or used by, any
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    10
 other person.  No title to or ownership of the software is
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    11
 hereby transferred.
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    12
"
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
    13
"{ Package: 'stx:goodies/regression' }"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
"{ NameSpace: RegressionTests }"
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
1567
e17701a073f9 Added abstract VMSpawningTestCase
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1535
diff changeset
    17
VMSpawningTestCase subclass:#VMCrashTestCase
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	instanceVariableNames:''
1567
e17701a073f9 Added abstract VMSpawningTestCase
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1535
diff changeset
    19
	classVariableNames:''
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	poolDictionaries:''
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
	category:'tests-Regression-Abstract'
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
!VMCrashTestCase class methodsFor:'documentation'!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
1974
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    26
copyright
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    27
"
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    28
 COPYRIGHT (c) Claus Gittinger / eXept Software AG
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    29
 COPYRIGHT (c) 2016-2017 Jan Vrany
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    30
              All Rights Reserved
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    31
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    32
 This software is furnished under a license and may be used
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    33
 only in accordance with the terms of that license and with the
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    35
 be provided or otherwise made available to, or used by, any
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    36
 other person.  No title to or ownership of the software is
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    37
 hereby transferred.
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    38
"
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    39
!
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    40
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
documentation
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
"
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    A specialized abstract test case class for writing
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    VM crash tests. The test is run in separate process
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    if it eventually crashes the VM, it won't take whole test
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    suite with it.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    48
    Each test case *must* be annotated by one <spawn:> annotation,
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    49
    argument must be either `true` of `false`. If `true` then the
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    50
    test is run in a freshly started VM. If `false`, test is run
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    51
    in the same VM.
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    52
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    53
    As this is meant as a base class for regression tests that used to
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    54
    kill the VM, normally you should annotate tests with <spawn: true>
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    55
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    [author:]
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
    57
	Jan Vrany <jan.vrany@fit.cvut.cz>
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    [instance variables:]
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    [class variables:]
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    [see also:]
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
"
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
! !
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
!VMCrashTestCase class methodsFor:'testing'!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
isAbstract
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    ^ self == RegressionTests::VMCrashTestCase
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
! !
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    74
!VMCrashTestCase methodsFor:'accessing'!
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    75
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    76
timeout
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    77
    "Returns a default timeout (sec) for the test.
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    78
     If nil is returned, no timeout enforced.
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    79
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    80
    Note that the timeout is set only when running under
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    81
    report runner, interactive tools does not use it"
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    82
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    83
    | method |
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    84
    method := self class lookupMethodFor: testSelector.
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    85
    method annotationsAt:#timeout: do:[:annotation|
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
    86
	 ^annotation arguments first
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    87
    ].
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    88
    ^60"sec - default timeout"
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    89
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    90
    "Created: / 08-09-2014 / 13:00:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    91
! !
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    92
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
!VMCrashTestCase methodsFor:'running'!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
runCase
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    96
    "Perform the testcase.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    98
     If testcase is annotated by <spawn: false> the test is run in the
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    99
     very same VM. If <spawn: true>, a new VM is started and the testcase
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   100
     in run in that new VM"
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   101
1567
e17701a073f9 Added abstract VMSpawningTestCase
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1535
diff changeset
   102
    | spawn |
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   104
    spawn := (self class lookupMethodFor: testSelector) annotationAt: #spawn:.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   105
    spawn isNil ifTrue:[
1502
b52f4f0d4a0b Fixed exit code checking logic in VMCrashTestTest
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
   106
        self error: 'No <spawn:> annotation'.
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   107
    ].
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   108
    (spawn argumentAt: 1) == false ifTrue:[
1502
b52f4f0d4a0b Fixed exit code checking logic in VMCrashTestTest
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
   109
        ^ super runCase.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   110
    ] ifFalse:[
1502
b52f4f0d4a0b Fixed exit code checking logic in VMCrashTestTest
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
   111
        (spawn argumentAt: 1) ~~ true ifTrue:[
b52f4f0d4a0b Fixed exit code checking logic in VMCrashTestTest
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
   112
            self error: 'Argument to <spawn:> must be either `true` or `false`'.
b52f4f0d4a0b Fixed exit code checking logic in VMCrashTestTest
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
   113
        ]
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
    ].
1567
e17701a073f9 Added abstract VMSpawningTestCase
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1535
diff changeset
   115
    self spawnSelector:#runCaseInternal  
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   117
    "
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   118
    VMCrashTestCase run:#test_infrastructure
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   119
    "
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   120
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
    "Created: / 04-09-2014 / 18:13:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1530
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   122
    "Modified: / 03-09-2016 / 07:56:21 / jv"
1567
e17701a073f9 Added abstract VMSpawningTestCase
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1535
diff changeset
   123
    "Modified: / 06-01-2017 / 21:34:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
runCaseInternal
1567
e17701a073f9 Added abstract VMSpawningTestCase
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1535
diff changeset
   127
    super runCase
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
    "Created: / 04-09-2014 / 17:41:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1530
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   130
    "Modified: / 03-09-2016 / 07:53:15 / jv"
1567
e17701a073f9 Added abstract VMSpawningTestCase
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1535
diff changeset
   131
    "Modified: / 05-01-2017 / 23:18:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
! !
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
!VMCrashTestCase methodsFor:'tests - infrastructure'!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
test_infrastructure
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
    "
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
    VMCrashTestCase run:#test_infrastructure
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
    "
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   140
    <spawn: false>
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    | result |
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
    result := self class run: #tst_pass.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
    self assert: result passedCount = 1.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    self assert: result failureCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
    self assert: result errorCount = 0.
1530
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   148
    self assert: result skippedCount = 0.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
    result := self class run: #tst_fail.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
    self assert: result passedCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
    self assert: result failureCount = 1.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
    self assert: result errorCount = 0.
1530
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   154
    self assert: result skippedCount = 0.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
    result := self class run: #tst_error.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
    self assert: result passedCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
    self assert: result failureCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
    self assert: result errorCount = 1.
1530
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   160
    self assert: result skippedCount = 0.
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   161
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   162
    result := self class run: #tst_skip.
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   163
    self assert: result passedCount = 0.
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   164
    self assert: result failureCount = 0.
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   165
    self assert: result errorCount = 0.
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   166
    self assert: result skippedCount = 1.     
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
    "
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   169
    VMCrashTestCase run: #tst_crash.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
    "
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    result := self class run: #tst_crash.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
    self assert: result passedCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
    self assert: result failureCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
    self assert: result errorCount = 1.
1530
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   175
    self assert: result skippedCount = 0.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
    "Created: / 05-09-2014 / 18:22:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   178
    "Modified: / 08-09-2014 / 12:26:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1530
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   179
    "Modified: / 03-09-2016 / 07:44:57 / jv"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
tst_crash
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   183
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   184
    <spawn: true>
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   185
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   186
    | bytes |
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
1194
01167ea2ad14 More support for debugging - file out also some scripts useful when debugging the test.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1189
diff changeset
   188
    Stdout nextPutLine: 'Going to crash now!!'.
01167ea2ad14 More support for debugging - file out also some scripts useful when debugging the test.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1189
diff changeset
   189
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
    bytes := ExternalBytes address: 16r10 size: 100.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
    bytes byteAt: 1 put: 10.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
    "Created: / 05-09-2014 / 18:24:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1194
01167ea2ad14 More support for debugging - file out also some scripts useful when debugging the test.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1189
diff changeset
   194
    "Modified: / 16-09-2014 / 20:30:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
tst_error
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   198
    <spawn: true>
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
    self error:'Error'
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
    "Created: / 05-09-2014 / 18:20:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   202
    "Modified: / 08-09-2014 / 12:26:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
tst_fail
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   206
    <spawn: true>
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
    self assert: false.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
    "Created: / 05-09-2014 / 18:20:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   210
    "Modified: / 08-09-2014 / 12:26:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   213
tst_pass
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   214
    <spawn: true>
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
    "Created: / 05-09-2014 / 18:20:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   217
    "Modified: / 08-09-2014 / 12:26:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1530
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   218
!
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   219
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   220
tst_skip
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   221
    <spawn: true>
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   222
    self skipIf: true description: 'Skip the test to test skipping'
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   223
b21a5e9a6c26 VMCrashTestCase: Added support for test skipping
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1502
diff changeset
   224
    "Created: / 03-09-2016 / 07:42:55 / jv"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
! !
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
!VMCrashTestCase class methodsFor:'documentation'!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
version
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
    ^ '$Header$'
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
version_CVS
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    ^ '$Header$'
1502
b52f4f0d4a0b Fixed exit code checking logic in VMCrashTestTest
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
   235
!
b52f4f0d4a0b Fixed exit code checking logic in VMCrashTestTest
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
   236
b52f4f0d4a0b Fixed exit code checking logic in VMCrashTestTest
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
   237
version_HG
b52f4f0d4a0b Fixed exit code checking logic in VMCrashTestTest
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
   238
b52f4f0d4a0b Fixed exit code checking logic in VMCrashTestTest
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
   239
    ^ '$Changeset: <not expanded> $'
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
! !
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241