RegressionTests__SnapshotRestartTests.st
author Jan Vrany <jan.vrany@labware.com>
Mon, 08 Mar 2021 11:25:35 +0000
branchjv
changeset 2594 e5f39c0a5bd6
parent 1974 f2eaf05205d6
permissions -rw-r--r--
Improve UTF8 read/write tests in `ChangeSetTests`
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1974
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
     1
"
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
     2
 COPYRIGHT (c) Claus Gittinger / eXept Software AG
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
     3
 COPYRIGHT (c) 2016-2017 Jan Vrany
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
     4
              All Rights Reserved
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
     5
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
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: 1960
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: 1960
diff changeset
     8
 inclusion of the above copyright notice.   This software may not
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
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: 1960
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: 1960
diff changeset
    11
 hereby transferred.
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    12
"
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
    13
"{ Package: 'stx:goodies/regression' }"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
"{ NameSpace: RegressionTests }"
baea090b0fc1 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: 1543
diff changeset
    17
VMSpawningTestCase subclass:#SnapshotRestartTests
1960
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
    18
	instanceVariableNames:'packageDir exe tmpdir make'
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	classVariableNames:''
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	poolDictionaries:''
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
	category:'tests-Regression'
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
TestCase subclass:#ToRunOnFreshAndRestartedSnapshotTests
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
	instanceVariableNames:''
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
	classVariableNames:''
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	poolDictionaries:''
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	privateIn:SnapshotRestartTests
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
1974
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    31
!SnapshotRestartTests class methodsFor:'documentation'!
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    32
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    33
copyright
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    34
"
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    35
 COPYRIGHT (c) Claus Gittinger / eXept Software AG
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    36
 COPYRIGHT (c) 2016-2017 Jan Vrany
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    37
              All Rights Reserved
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    38
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    39
 This software is furnished under a license and may be used
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    40
 only in accordance with the terms of that license and with the
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    41
 inclusion of the above copyright notice.   This software may not
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    42
 be provided or otherwise made available to, or used by, any
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    43
 other person.  No title to or ownership of the software is
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    44
 hereby transferred.
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    45
"
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1960
diff changeset
    46
! !
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
!SnapshotRestartTests methodsFor:'compilation'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
make
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    ^ self make:''.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    "Created: / 14-08-2013 / 18:27:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
make: target
1612
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    57
    | cmd output success |
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
1960
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
    59
    cmd := make , ' ' , target.
1612
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    60
    output := String streamContents:[ :s|
1960
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
    61
        success := OperatingSystem executeCommand: cmd outputTo: s inDirectory: packageDir
1612
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    62
    ].
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    63
    "/ Following is just to ease debugging on Jenkins since stdout
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    64
    "/ is shown in the report.
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    65
    success ifFalse:[ 
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    66
        Stdout nextPutLine: 'Failed to make target ''', target, ''' in test package'.
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    67
        Stdout nextPutLine: output.
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    68
    ].
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
    69
    self
1612
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    70
        assert: success
1541
5c6a32e00528 Fixed `MakefileTests` and `SnapshotRestartTests` to not call obsolete method OperatingSystem>>getCCDefine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
    71
        description: 'Failed to make target ''', target, ''' in test package'.
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    "Created: / 14-08-2013 / 18:26:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1960
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
    74
    "Modified: / 10-11-2016 / 00:22:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
    75
    "Modified: / 23-11-2017 / 23:16:28 / jv"
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    76
! !
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    77
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    78
!SnapshotRestartTests methodsFor:'private'!
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    79
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    80
do: setupBlock onRestartDo: restartBlock
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    81
    self assert: setupBlock byteCode notNil   description: 'setupBlock must have bytecode - stc-compiled blocks not supported'.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    82
    self assert: restartBlock byteCode notNil description: 'restartBlock must have bytecode - stc-compiled blocks not supported'.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    83
1960
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
    84
    self setUp.
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    85
    setupBlock value.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    86
    Smalltalk addImageStartBlock:[
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    87
        [ 
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    88
            Stdout nextPutLine:'===> Restarted from snapshot'.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    89
            restartBlock value.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    90
            Smalltalk exit: EXIT_CODE_SUCCESS.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    91
        ] fork
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    92
    ].
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    93
    Stdout nextPutLine:'===> Saving snapshot to ', testSelector , '.img'.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    94
    ObjectMemory snapShotOn: testSelector , '.img'.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    95
    Smalltalk exit: EXIT_CODE_SUCCESS.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    96
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    97
    "Created: / 06-01-2017 / 22:14:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    98
    "Modified: / 06-01-2017 / 23:36:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1960
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
    99
    "Modified: / 24-11-2017 / 00:10:11 / jv"
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   100
!
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   101
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   102
performTest
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   103
    | imageFile |
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   104
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   105
    imageFile := tmpdir / (testSelector , '.img').
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   106
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   107
    self spawnSelector:#performTestInternal inDirectory:tmpdir.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   108
    self assert: imageFile exists description: 'Image file does not exist - did test save it?'.
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   109
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   110
    "/ For debugging purposes, save output.txt
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   111
    ( tmpdir / 'output.txt' ) exists ifTrue:[ 
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   112
        (tmpdir / 'output.txt') moveTo: (tmpdir / 'output0.txt')
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   113
    ].
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   114
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   115
    self spawnSmalltalk: { '--image' . imageFile pathName } inDirectory: tmpdir.
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   116
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   117
    "/ If control reaches this point, the test was successful. In that case.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   118
    "/ remove the temp directory.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   119
    [ 
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   120
        tmpdir recursiveRemove
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   121
    ] on: Error do:[:ex | 
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   122
        OperatingSystem isMSWINDOWSlike ifTrue:[ 
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   123
            "/ Argh, Windows and its file locking...
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   124
            Delay waitForSeconds: 1.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   125
            Error ignoreIn: [ tmpdir recursiveRemove ] .
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   126
        ] ifFalse:[ 
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   127
            ex reject.
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   128
        ].
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   129
    ].
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   130
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   131
    "Created: / 06-01-2017 / 22:05:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   132
    "Modified: / 27-02-2017 / 09:35:37 / jv"
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   133
!
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   134
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   135
performTestInternal
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   136
    super performTest.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   137
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   138
    "Created: / 06-01-2017 / 22:04:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
!SnapshotRestartTests methodsFor:'running'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
setUp
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   144
    super setUp.
1960
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   145
    packageDir := Smalltalk getPackageDirectoryForPackage: #'stx:goodies/regression/testData/packages/snapshot_restart'.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   146
    self assert: packageDir notNil.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   147
    self assert: packageDir isDirectory.         
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   148
    OperatingSystem isMSWINDOWSlike ifTrue:[
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   149
        "/ Hack: generally we don't require Borland tools to be installed anymore.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   150
        "/ However, package build on Windows is driwen by Borland make so we distribute
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   151
        "/ it with rakefiles. It's likely not in the PATH, so add it.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   152
        "/ This code assumes the test is run from build environment.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   153
        | path separator binDir mingwBinDir |
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   154
1960
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   155
        separator := OperatingSystem isMSWINDOWSlike ifTrue:[$;] ifFalse:[$:].
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   156
        path := ((OperatingSystem getEnvironment: 'PATH') ? '') tokensBasedOn: separator. 
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   157
        binDir := (OperatingSystem pathOfSTXExecutable asFilename directory / '..' / '..' / '..' / '..' / 'bin') pathName.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   158
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   159
        STCCompilerInterface getCCDefine = '__BORLANDC__' ifTrue:[ 
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   160
            make := 'bmake.bat'
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   161
        ].
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   162
        STCCompilerInterface getCCDefine = '__MINGW32__' ifTrue:[ 
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   163
            (OperatingSystem getEnvironment: 'MINGW_DIR') isNil ifTrue:[
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   164
                | mingwDir |
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   165
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   166
                mingwDir := #('C:\MSYS64\MINGW32' 'C:\MINGW') detect:[:path | path asFilename isDirectory ] ifNone: [ nil ].
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   167
                self assert: mingwDir notNil description: 'MINGW_DIR environment variable not set and MINGW32 not found at standard places'.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   168
                OperatingSystem setEnvironment: 'MINGW_DIR'     to: mingwDir.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   169
            ].
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   170
            OperatingSystem setEnvironment: 'MINGW'         to: '__MINGW32__'.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   171
            OperatingSystem setEnvironment: 'USEMINGW_ARG'  to: '-DUSEMINGW32'.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   172
            make := 'mingwmake.bat'.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   173
        ].
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   174
        STCCompilerInterface getCCDefine = '__MINGW64__' ifTrue:[ 
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   175
            (OperatingSystem getEnvironment: 'MINGW_DIR') isNil ifTrue:[ 
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   176
                | mingwDir |
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   177
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   178
                mingwDir := #('C:\MSYS64\MINGW64' 'C:\MINGW64') detect:[:path | path asFilename isDirectory ] ifNone: [ nil ].
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   179
                self assert: mingwDir notNil description: 'MINGW_DIR environment variable not set and MINGW64 not found at standard places'.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   180
                OperatingSystem setEnvironment: 'MINGW_DIR'     to: mingwDir.   
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   181
            ].
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   182
            OperatingSystem setEnvironment: 'MINGW'         to: '__MINGW64__'.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   183
            OperatingSystem setEnvironment: 'USEMINGW_ARG'  to: '-DUSEMINGW64'.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   184
            make := 'mingwmake.bat'.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   185
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   186
        ].
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   187
        mingwBinDir := (OperatingSystem getEnvironment: 'MINGW_DIR') , '\bin'.
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   188
        (path includes: mingwBinDir) ifFalse:[path addLast: mingwBinDir].
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   189
        (path includes: binDir) ifFalse:[path addFirst: binDir].
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   190
        OperatingSystem setEnvironment: 'PATH' to: (path asStringWith:$;)
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   191
    ] ifFalse:[
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   192
        make := 'make -f Makefile.init'
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   193
    ].
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
    tmpdir := Filename newTemporaryDirectory.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
    exe := OperatingSystem pathOfSTXExecutable.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
    self make:'clobber'.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
    "Created: / 14-08-2013 / 18:21:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   199
    "Modified (format): / 06-01-2017 / 23:21:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1960
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   200
    "Modified: / 23-11-2017 / 23:16:35 / jv"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
tearDown
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   204
    super tearDown.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   205
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   206
    "/ No, don't remove the temp directory here. This is done in
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   207
    "/ #performTest and only if test is successful. If not, leave
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   208
    "/ it behind for debugging purposes.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   209
    "/ tmpdir recursiveRemove.
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
    "Created: / 14-08-2013 / 20:17:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   212
    "Modified (comment): / 27-02-2017 / 09:32:38 / jv"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
!SnapshotRestartTests methodsFor:'tests'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
test_bc
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   218
    "Test restart with bytecode-compiled package"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   220
    | result |
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   222
    self do:[
1601
3952a8200e70 SnapshotRestartTests: temporarily disabled #test_bc and #test_stc on Windows withouut display
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1600
diff changeset
   223
        Display isNil ifTrue:[Smalltalk openDisplay].
3952a8200e70 SnapshotRestartTests: temporarily disabled #test_bc and #test_stc on Windows withouut display
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1600
diff changeset
   224
        self skipIf: (OperatingSystem isMSWINDOWSlike and:[Display isNil]) description: 'No display available'.     
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   225
        result := ToRunOnFreshAndRestartedSnapshotTests buildSuite run.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   226
        self assert: result errorCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   227
        self assert: result failureCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   228
    ] onRestartDo:[ 
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   229
        result := ToRunOnFreshAndRestartedSnapshotTests buildSuite run.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   230
        self assert: result errorCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   231
        self assert: result failureCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   232
    ].
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    "Created: / 14-08-2013 / 19:58:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1601
3952a8200e70 SnapshotRestartTests: temporarily disabled #test_bc and #test_stc on Windows withouut display
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1600
diff changeset
   235
    "Modified: / 04-03-2017 / 12:25:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
1569
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   238
test_gui_reopening
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   239
    "
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   240
    Test that GUI reopens just fine.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   241
    "
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   242
    | workspace browser |
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   243
    self do:[
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   244
    	Display isNil ifTrue:[Smalltalk openDisplay].
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   245
    	self skipIf: Display isNil description: 'No display available'.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   246
        workspace := WorkspaceApplication new.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   247
        workspace open.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   248
        workspace window waitUntilVisible.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   249
        browser := Tools::NewSystemBrowser new.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   250
        browser open.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   251
        browser window waitUntilVisible.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   252
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   253
        self assert: workspace window notNil.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   254
        self assert: workspace window reallyRealized.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   255
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   256
        self assert: browser window notNil.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   257
        self assert: browser window reallyRealized.       
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   258
    ] onRestartDo:[ 
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   259
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   260
    	Delay waitForSeconds: 1. "Give windows a chance to come up"
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   261
        self assert: workspace window notNil.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   262
        self assert: workspace window reallyRealized.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   263
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   264
        self assert: browser window notNil.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   265
        self assert: browser window reallyRealized.       
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   266
    ].
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   267
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   268
    "Created: / 06-01-2017 / 23:44:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   269
!
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   270
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
test_stc
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   272
    "Test restart with bytecode-compiled package"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   274
    | result |
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   276
    self do:[
1601
3952a8200e70 SnapshotRestartTests: temporarily disabled #test_bc and #test_stc on Windows withouut display
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1600
diff changeset
   277
        Display isNil ifTrue:[Smalltalk openDisplay].
3952a8200e70 SnapshotRestartTests: temporarily disabled #test_bc and #test_stc on Windows withouut display
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1600
diff changeset
   278
        self skipIf:(OperatingSystem isMSWINDOWSlike and:[Display isNil]) description: 'No display available'.     
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   279
        self make.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   280
        result := ToRunOnFreshAndRestartedSnapshotTests buildSuite run.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   281
        self assert: result errorCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   282
        self assert: result failureCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   283
    ] onRestartDo:[ 
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   284
        result := ToRunOnFreshAndRestartedSnapshotTests buildSuite run.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   285
        self assert: result errorCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   286
        self assert: result failureCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   287
    ].
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
    "Created: / 14-08-2013 / 20:26:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1601
3952a8200e70 SnapshotRestartTests: temporarily disabled #test_bc and #test_stc on Windows withouut display
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1600
diff changeset
   290
    "Modified: / 04-03-2017 / 12:25:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1960
66ad86b6ada2 Fixed `MakefileTests` and `SnapshotRestartTests` to keep PATH environment as short
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1612
diff changeset
   291
    "Modified: / 24-11-2017 / 00:10:40 / jv"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
!SnapshotRestartTests::ToRunOnFreshAndRestartedSnapshotTests methodsFor:'running'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
setUp
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
    (Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') isNil ifTrue:[
1499
26a16a04219b Package renamed from exept:regression to stx:goodies/regression. Hooray!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1495
diff changeset
   298
        Smalltalk loadPackage: #'stx:goodies/regression/testData/packages/snapshot_restart'.
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
    ].
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
    "Created: / 14-08-2013 / 19:47:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
!SnapshotRestartTests::ToRunOnFreshAndRestartedSnapshotTests methodsFor:'tests'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
test_01
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
    "/ Use Smalltalk at: to workaround compiler bug...
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
   309
    self assert: (Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') notNil.
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
    self assert: ((Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') new addSimple: 12 to: 12) == 24
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
    "Created: / 14-08-2013 / 19:46:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
    "Modified: / 15-08-2013 / 08:20:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   316
test_02
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
   318
    "/ Use Smalltalk at: to workaround compiler bug...
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
    self assert: (Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') notNil.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
    self assert: ((Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') new addUsingBlock: 10 to: 10) == 20
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
    "Created: / 14-08-2013 / 19:46:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
    "Modified: / 15-08-2013 / 08:20:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   324
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
!SnapshotRestartTests::ToRunOnFreshAndRestartedSnapshotTests methodsFor:'tests - disabled'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
disabled_test_03
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
    "/ Not yet supported, but JV has an idea how to fix it :-)
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
    self assert: (Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') notNil.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
    self assert: ((Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') new addThirteenUsingRememberedBlockTo: 2) == 15
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
    "Created: / 14-08-2013 / 19:53:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
    "Modified: / 15-08-2013 / 08:20:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
!SnapshotRestartTests class methodsFor:'documentation'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
version
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
    ^ '$Header$'
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
version_CVS
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
    ^ '$Header$'
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
1489
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
   348
version_HG
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
   349
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
   350
    ^ '$Changeset: <not expanded> $'
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
   351
!
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
   352
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
version_SVN
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
    ^ '$Id$'
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356