39 " |
39 " |
40 |
40 |
41 <spawn: true> |
41 <spawn: true> |
42 <timeout: 660> "11min" |
42 <timeout: 660> "11min" |
43 |
43 |
44 | timeout deadline iterStart iterStop directory files i | |
44 | timeout deadline iterStart iterStop directory files oldSpaceSizeLimit i | |
45 |
45 |
46 "/ See https://swing.fit.cvut.cz/projects/stx-jv/ticket/64 |
46 "/ See https://swing.fit.cvut.cz/projects/stx-jv/ticket/64 |
47 self skipIf: OperatingSystem isMSWINDOWSlike description: 'Temporarily skipped because of issue #64'. |
47 self skipIf: OperatingSystem isMSWINDOWSlike description: 'Temporarily skipped because of issue #64'. |
48 |
48 |
49 |
49 |
50 timeout := self timeout. |
50 timeout := self timeout. |
51 deadline := OperatingSystem getMillisecondTime + ((timeout - 60"extra min to cover variance") * 1000). |
51 deadline := OperatingSystem getMillisecondTime + ((timeout - 60"extra min to cover variance") * 1000). |
52 iterStart := iterStop := 0. |
52 iterStart := iterStop := 0. |
53 i := 0. |
53 i := 0. |
54 directory := Smalltalk getPackageDirectoryForPackage: #'stx:goodies'. |
54 directory := Smalltalk getPackageDirectoryForPackage: #'stx:goodies'. |
|
55 |
|
56 oldSpaceSizeLimit := ObjectMemory oldSpaceUsed + (128"MB"*1024*1024). |
|
57 |
55 [ OperatingSystem getMillisecondTime < (deadline - (iterStop - iterStart)) ] whileTrue:[ |
58 [ OperatingSystem getMillisecondTime < (deadline - (iterStop - iterStart)) ] whileTrue:[ |
56 iterStart := OperatingSystem getMillisecondTime. |
59 iterStart := OperatingSystem getMillisecondTime. |
57 |
60 |
58 i := i + 1. |
61 i := i + 1. |
59 Stdout nextPutLine: 'Pass ' , i printString. |
62 Stdout nextPutLine: 'Pass ' , i printString. |
60 files := directory recursiveDirectoryContentsAsFilenames select:[:each | each isRegularFile ]. |
63 files := directory recursiveDirectoryContentsAsFilenames select:[:each | each isRegularFile ]. |
61 files := files select: [ :e | e suffix = 'st' ]. |
64 files := files select: [ :e | e suffix = 'st' ]. |
62 files collect:[ :e | (FileStream fileNamed: e) contents asString ]. |
65 files collect:[ :e | (FileStream fileNamed: e) contents asString ]. |
63 Stdout nextPutLine: 'Pass ' , i printString , '...OK'. |
66 Stdout nextPutLine: 'Pass ' , i printString , '...OK'. |
64 |
67 (oldSpaceSizeLimit notNil and:[ ObjectMemory oldSpaceUsed > oldSpaceSizeLimit ]) ifTrue:[ |
|
68 Stdout nextPutLine: 'GC'. |
|
69 files := nil. |
|
70 ObjectMemory compressingGarbageCollect. |
|
71 oldSpaceSizeLimit := ObjectMemory oldSpaceUsed + (128"MB"*1024*1024). |
|
72 Stdout nextPutLine: 'GC...OK '. |
|
73 ]. |
65 iterStop := OperatingSystem getMillisecondTime. |
74 iterStop := OperatingSystem getMillisecondTime. |
66 ]. |
75 ]. |
67 |
76 |
68 "Created: / 04-09-2016 / 03:16:19 / jv" |
77 "Created: / 04-09-2016 / 03:16:19 / jv" |
|
78 "Modified: / 27-02-2017 / 12:10:21 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
69 ! |
79 ! |
70 |
80 |
71 test_java_initialize |
81 test_java_initialize |
72 " |
82 " |
73 Running `JavaVM boot` for long enough used to kill the |
83 Running `JavaVM boot` for long enough used to kill the |