author | Claus Gittinger <cg@exept.de> |
Thu, 28 Mar 2019 10:59:37 +0100 | |
changeset 2193 | b169be61f50e |
parent 1904 | a87e221839de |
permissions | -rw-r--r-- |
1447 | 1 |
"{ Package: 'stx:goodies/regression' }" |
1181 | 2 |
|
3 |
"{ NameSpace: RegressionTests }" |
|
4 |
||
5 |
VMCrashTestCase subclass:#VMCrashTests |
|
6 |
instanceVariableNames:'' |
|
7 |
classVariableNames:'' |
|
8 |
poolDictionaries:'' |
|
9 |
category:'tests-Regression-RuntimeSystem' |
|
10 |
! |
|
11 |
||
12 |
||
13 |
!VMCrashTests methodsFor:'tests - GC'! |
|
14 |
||
1190
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
15 |
iter_java_initialize |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
16 |
<spawn: true> |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
17 |
|
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
18 |
1 to: 100 do:[:i | |
1447 | 19 |
Stdout nextPutLine: 'Pass ' , i printString. |
20 |
Java release: JavaRelease JDK7. |
|
21 |
Java initialize. |
|
22 |
JavaVM initializeVM. |
|
23 |
Java flushAllJavaResources. |
|
24 |
Stdout nextPutLine: 'Full GC...'. |
|
25 |
Smalltalk garbageCollect. |
|
26 |
Stdout nextPutLine: 'Pass ' , i printString , '...OK'. |
|
1190
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
27 |
]. |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
28 |
|
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
29 |
"Created: / 08-09-2014 / 12:33:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
30 |
! |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
31 |
|
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
32 |
test_java_initialize |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
33 |
" |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
34 |
Running `JavaVM boot` for long enough used to kill the |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
35 |
VM due to problems in memory managements. |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
36 |
|
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
37 |
This testcase runs for 10 minutes a test in separate VM |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
38 |
that 100 times boots and flushes the VM. |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
39 |
" |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
40 |
|
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
41 |
<spawn: false> |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
42 |
<timeout: 660> "11min" |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
43 |
|
1447 | 44 |
| timeout deadline iterStart iterStop | |
1190
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
45 |
|
1904 | 46 |
JavaRelease isNil ifTrue:[ |
47 |
Smalltalk loadPackage:'stx:libjava'. |
|
48 |
self assert:(JavaRelease notNil). |
|
49 |
]. |
|
50 |
||
1190
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
51 |
timeout := self timeout. |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
52 |
deadline := OperatingSystem getMillisecondTime + ((timeout - 60"extra min to cover variance") * 1000). |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
53 |
iterStart := iterStop := 0. |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
54 |
[ OperatingSystem getMillisecondTime < (deadline - (iterStop - iterStart)) ] whileTrue:[ |
1447 | 55 |
iterStart := OperatingSystem getMillisecondTime. |
56 |
(self class selector: #iter_java_initialize) runCase. |
|
57 |
iterStop := OperatingSystem getMillisecondTime. |
|
1190
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
58 |
]. |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
59 |
|
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
60 |
"Created: / 08-09-2014 / 12:14:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
61 |
! |
cf332dfb2334
Added regression test #test_java_initialize
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1181
diff
changeset
|
62 |
|
1181 | 63 |
test_newspace_overflow |
64 |
||
65 |
<timeout: 120> "2min" |
|
1193
4fd89b765c87
Added forgotten annotation <spawn:true> to newspace overflow test
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1190
diff
changeset
|
66 |
<spawn: true> |
1181 | 67 |
|
68 |
| newSize newLimit | |
|
69 |
||
70 |
newSize := ObjectMemory newSpaceSize. |
|
71 |
newLimit := (newSize * 0.9) rounded. |
|
72 |
"/ Allocate some garbage to fill in new space... |
|
73 |
[ ObjectMemory newSpaceUsed < newLimit ] whileTrue:[ |
|
1447 | 74 |
| a | |
1181 | 75 |
|
1447 | 76 |
a := Array new: 100. |
1181 | 77 |
]. |
1248
ab9af85de41a
class: RegressionTests::VMCrashTests
Claus Gittinger <cg@exept.de>
parents:
1193
diff
changeset
|
78 |
"/ Now, allocate some really huge object |
1181 | 79 |
String new: 300 * 1024 * 1024"300MB" |
80 |
||
81 |
"Created: / 05-09-2014 / 19:44:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
1193
4fd89b765c87
Added forgotten annotation <spawn:true> to newspace overflow test
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1190
diff
changeset
|
82 |
"Modified: / 16-09-2014 / 18:50:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1181 | 83 |
! ! |
84 |
||
85 |
!VMCrashTests class methodsFor:'documentation'! |
|
86 |
||
87 |
version |
|
88 |
^ '$Header$' |
|
89 |
! |
|
90 |
||
91 |
version_CVS |
|
92 |
^ '$Header$' |
|
93 |
! ! |