RegressionTests__VMCrashTestCase.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 1447 2351db93aa5b
child 1500 d406a10b2965
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1276
343771ee1f6b class: RegressionTests::VMCrashTestCase
Stefan Vogel <sv@exept.de>
parents: 1199
diff changeset
     1
"{ Encoding: utf8 }"
343771ee1f6b class: RegressionTests::VMCrashTestCase
Stefan Vogel <sv@exept.de>
parents: 1199
diff changeset
     2
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
     3
"{ Package: 'stx:goodies/regression' }"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
"{ NameSpace: RegressionTests }"
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
TestCase subclass:#VMCrashTestCase
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	instanceVariableNames:''
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	classVariableNames:'EXIT_CODE_SUCCESS EXIT_CODE_FAILURE EXIT_CODE_ERROR'
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
	poolDictionaries:''
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
	category:'tests-Regression-Abstract'
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
!VMCrashTestCase class methodsFor:'documentation'!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
documentation
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
"
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    A specialized abstract test case class for writing
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    VM crash tests. The test is run in separate process
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    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
    21
    suite with it.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    23
    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
    24
    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
    25
    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
    26
    in the same VM.
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    27
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    28
    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
    29
    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
    30
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    [author:]
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
    32
	Jan Vrany <jan.vrany@fit.cvut.cz>
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
    [instance variables:]
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    [class variables:]
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    [see also:]
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
"
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
! !
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
!VMCrashTestCase class methodsFor:'initialization'!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
initialize
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    "Invoked at system start or when the class is dynamically loaded."
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    "/ please change as required (and remove this comment)
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    EXIT_CODE_SUCCESS := 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    EXIT_CODE_FAILURE := 1.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
    EXIT_CODE_ERROR := 2.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    "Modified: / 05-09-2014 / 18:17:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
! !
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
!VMCrashTestCase class methodsFor:'testing'!
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
isAbstract
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    ^ self == RegressionTests::VMCrashTestCase
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
! !
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    63
!VMCrashTestCase methodsFor:'accessing'!
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    64
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    65
timeout
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    66
    "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
    67
     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
    68
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    69
    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
    70
    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
    71
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    72
    | method |
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    73
    method := self class lookupMethodFor: testSelector.
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    74
    method annotationsAt:#timeout: do:[:annotation|
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
    75
	 ^annotation arguments first
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    76
    ].
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    77
    ^60"sec - default timeout"
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    78
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    79
    "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
    80
! !
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    81
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
!VMCrashTestCase methodsFor:'running'!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
runCase
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    85
    "Perform the testcase.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    87
     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
    88
     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
    89
     in run in that new VM"
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    90
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
    91
    | tempDir testcaseFile exe args script environment outputFile output pid blocker status spawn |
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    93
    spawn := (self class lookupMethodFor: testSelector) annotationAt: #spawn:.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
    94
    spawn isNil ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
    95
	self error: 'No <spawn:> annotation'.
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
    96
    ].
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
    97
    (spawn argumentAt: 1) == false ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
    98
	^ super runCase.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
    99
    ] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   100
	(spawn argumentAt: 1) ~~ true ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   101
	    self error: 'Argument to <spawn:> must be either `true` or `false`'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   102
	]
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    ].
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    [
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   106
	tempDir := Filename newTemporary.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   107
	tempDir makeDirectory.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   108
	testcaseFile := tempDir / ((Smalltalk fileNameForClass: self class) , '.st').
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   109
	self class fileOutAs: testcaseFile.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   111
	script := 'Smalltalk packagePath: %1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   112
		   Smalltalk loadPackage:%2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   113
		   Smalltalk fileIn: %3.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   114
		   (%4 selector: %5) runCaseInternal.'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   115
		    bindWith: Smalltalk packagePath asArray storeString
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   116
			with: self class package storeString
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   117
			with: testcaseFile pathName storeString
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   118
			with: self class name
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   119
			with: testSelector storeString.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   121
	exe := OperatingSystem pathOfSTXExecutable.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   122
	args := { exe . '--abortOnSEGV' . '--execute' . ( tempDir / 'run.st' ) pathName }.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   124
	OperatingSystem isMSWINDOWSlike ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   125
	    args := String streamContents:[:s|
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   126
		args
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   127
		    do:[:each | s nextPut:$"; nextPutAll: each; nextPut: $"]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   128
		    separatedBy: [ s space ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   129
	    ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   130
	].
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   132
	outputFile := tempDir / 'output.txt'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   133
	output := outputFile writeStream.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   135
	"/ Now, spit out some helper files that for debugging.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   136
	( tempDir / 'run.st' ) writingFileDo:[ :f |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   137
	    f nextPutAll: script.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   138
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   139
	environment := OperatingSystem isUNIXlike
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   140
			ifTrue:[OperatingSystem getEnvironment copy]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   141
			ifFalse:[environment := Dictionary new].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   142
	blocker := Semaphore new.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   144
	Processor monitor:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   145
	     pid := OperatingSystem exec: exe withArguments:args
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   146
		environment:environment
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   147
		fileDescriptors:{0 . output fileDescriptor  . output fileDescriptor  }
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   148
		fork:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   149
		newPgrp:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   150
		inDirectory: Filename currentDirectory pathName
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   151
	] action: [ :s |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   152
	    status := s.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   153
	    blocker signal.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   154
	].
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   156
	output close.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   158
	pid isNil ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   159
	    self error: 'Failed to spawn test'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   160
	    ^ self.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   161
	].
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   163
	blocker wait.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   165
	status code == EXIT_CODE_FAILURE ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   166
	    (outputFile notNil and:[ outputFile exists ]) ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   167
		Stdout nextPutAll: '== TEST FAILED: '; nextPutAll: testSelector; nextPutLine:' =='.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   168
		outputFile readingFileDo:[:s|
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   169
		    [ s atEnd ] whileFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   170
			Stdout nextPutLine: s nextLine.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   171
		    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   172
		].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   173
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   174
	    self assert: false description: 'Assertion failed, see log'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   175
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   176
	(status code == EXIT_CODE_ERROR or:[status status == #signal]) ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   177
	    (outputFile notNil and:[ outputFile exists ]) ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   178
		Stdout nextPutAll: '== TEST ERROR: '; nextPutAll: testSelector; nextPutLine:' =='.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   179
		outputFile readingFileDo:[:s|
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   180
		    [ s atEnd ] whileFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   181
			Stdout nextPutLine: s nextLine.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   182
		    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   183
		].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   184
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   185
	    self error: 'Error occured'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   186
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   187
    ] ensure:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   188
	(tempDir notNil and:[tempDir exists]) ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   189
	    [
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   190
		tempDir recursiveRemove.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   191
	    ] on: Error do:[:ex |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   192
		OperatingSystem isMSWINDOWSlike ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   193
		    ex reject.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   194
		].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   195
	    ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   196
	].
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
    ].
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   199
    "
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   200
    VMCrashTestCase run:#test_infrastructure
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   201
    "
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   202
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
    "Created: / 04-09-2014 / 18:13:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1199
81fcf185ef45 class: RegressionTests::VMCrashTestCase
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1194
diff changeset
   204
    "Modified: / 19-09-2014 / 16:43:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
runCaseInternal
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
    [
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   209
	super runCase.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   210
	Stdout cr;
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   211
	    nextPutAll: 'PASSED'; cr.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
    ] on: TestResult failure do:[:failure |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   213
	Stdout cr;
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   214
	    nextPutAll: 'FAILURE: '; nextPutAll: failure description; cr.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   215
	Smalltalk exit: EXIT_CODE_FAILURE.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
    ] on: TestResult exError do:[:error |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   217
	Stdout cr;
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   218
	    nextPutAll: 'ERROR: '; nextPutAll: error description; cr.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   219
	Smalltalk exit: EXIT_CODE_ERROR.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
    ].
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
    "Created: / 04-09-2014 / 17:41:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
    "Modified: / 05-09-2014 / 18:37:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
! !
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
!VMCrashTestCase methodsFor:'tests - infrastructure'!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
test_infrastructure
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
    "
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
    VMCrashTestCase run:#test_infrastructure
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
    "
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   232
    <spawn: false>
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    | result |
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
    result := self class run: #tst_pass.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
    self assert: result passedCount = 1.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
    self assert: result failureCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
    self assert: result errorCount = 0.
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
    result := self class run: #tst_fail.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
    self assert: result passedCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
    self assert: result failureCount = 1.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
    self assert: result errorCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
    result := self class run: #tst_error.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
    self assert: result passedCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
    self assert: result failureCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
    self assert: result errorCount = 1.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
    "
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   252
    VMCrashTestCase run: #tst_crash.
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
    "
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    result := self class run: #tst_crash.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
    self assert: result passedCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
    self assert: result failureCount = 0.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
    self assert: result errorCount = 1.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
    "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
   260
    "Modified: / 08-09-2014 / 12:26:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
tst_crash
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   264
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   265
    <spawn: true>
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   266
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   267
    | bytes |
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
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
   269
    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
   270
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
    bytes := ExternalBytes address: 16r10 size: 100.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
    bytes byteAt: 1 put: 10.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
    "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
   275
    "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
   276
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
tst_error
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   279
    <spawn: true>
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
    self error:'Error'
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
    "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
   283
    "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
   284
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
tst_fail
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   287
    <spawn: true>
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
    self assert: false.
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
    "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
   291
    "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
   292
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1276
diff changeset
   294
tst_pass
1189
6c1c1eefa063 Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1172
diff changeset
   295
    <spawn: true>
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
    "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
   298
    "Modified: / 08-09-2014 / 12:26:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1172
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
! !
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
!VMCrashTestCase class methodsFor:'documentation'!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
version
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
    ^ '$Header$'
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
!
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
version_CVS
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
    ^ '$Header$'
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
! !
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
53eba38eb70a initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
VMCrashTestCase initialize!