RegressionTests__SnapshotRestartTests.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 27 Jul 2017 07:03:08 +0100
branchjv
changeset 1951 a073c5657e00
parent 1612 972b34959a7b
child 1960 66ad86b6ada2
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
1567
e17701a073f9 Added abstract VMSpawningTestCase
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1543
diff changeset
     5
VMSpawningTestCase subclass:#SnapshotRestartTests
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'pkgdir exe tmpdir'
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'tests-Regression'
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
TestCase subclass:#ToRunOnFreshAndRestartedSnapshotTests
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
	instanceVariableNames:''
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
	classVariableNames:''
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	poolDictionaries:''
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	privateIn:SnapshotRestartTests
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
!SnapshotRestartTests methodsFor:'compilation'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
make
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    ^ self make:''.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    "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
    26
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
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
    29
    | cmd output success |
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    30
    pkgdir := Smalltalk getPackageDirectoryForPackage: #'stx:goodies/regression/testData/packages/snapshot_restart'.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    31
    self assert: pkgdir notNil.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    32
    self assert: pkgdir isDirectory.     
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
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
    34
    OperatingSystem isMSWINDOWSlike ifTrue:[
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    35
        "/ Hack: generally we don't require Borland tools to be installed anymore.
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    36
        "/ However, package build is driwen by Borland make so we distribute
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    37
        "/ it with rakefiles. It's likely not in the PATH, so add it.
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    38
        "/ This code assumes the test is run from build environment.
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    39
        OperatingSystem setEnvironment: 'PATH' to: 
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    40
            (OperatingSystem pathOfSTXExecutable asFilename directory / '..' / '..' / '..' / '..' / 'bin') pathName , ';',
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    41
            (OperatingSystem getEnvironment: 'PATH').
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    42
1541
5c6a32e00528 Fixed `MakefileTests` and `SnapshotRestartTests` to not call obsolete method OperatingSystem>>getCCDefine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
    43
        STCCompilerInterface getCCDefine = '__BORLANDC__' ifTrue:[ 
1489
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    44
            cmd := 'bmake.bat ' , target.
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    45
        ].
1541
5c6a32e00528 Fixed `MakefileTests` and `SnapshotRestartTests` to not call obsolete method OperatingSystem>>getCCDefine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
    46
        STCCompilerInterface getCCDefine = '__MINGW32__' ifTrue:[ 
1543
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    47
            (OperatingSystem getEnvironment: 'MINGW_DIR') isNil ifTrue:[
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    48
                | mingwDir |
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    49
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    50
                mingwDir := #('C:\MSYS64\MINGW32' 'C:\MINGW') detect:[:path | path asFilename isDirectory ] ifNone: [ nil ].
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    51
                self assert: mingwDir notNil description: 'MINGW_DIR environment variable not set and MINGW32 not found at standard places'.
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    52
                OperatingSystem setEnvironment: 'MINGW_DIR'     to: mingwDir.
1489
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    53
            ].
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    54
            OperatingSystem setEnvironment: 'MINGW'         to: '__MINGW32__'.
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    55
            OperatingSystem setEnvironment: 'USEMINGW_ARG'  to: '-DUSEMINGW32'.
1543
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    56
            OperatingSystem setEnvironment: 'PATH'          to: (OperatingSystem getEnvironment: 'PATH') , ';' , (OperatingSystem getEnvironment: 'MINGW_DIR') , '\bin'.
1489
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    57
            cmd := 'mingwmake.bat ' , target.
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    58
        ].
1541
5c6a32e00528 Fixed `MakefileTests` and `SnapshotRestartTests` to not call obsolete method OperatingSystem>>getCCDefine
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1500
diff changeset
    59
        STCCompilerInterface getCCDefine = '__MINGW64__' ifTrue:[ 
1489
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    60
            (OperatingSystem getEnvironment: 'MINGW_DIR') isNil ifTrue:[ 
1543
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    61
                | mingwDir |
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    62
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    63
                mingwDir := #('C:\MSYS64\MINGW64' 'C:\MINGW64') detect:[:path | path asFilename isDirectory ] ifNone: [ nil ].
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    64
                self assert: mingwDir notNil description: 'MINGW_DIR environment variable not set and MINGW64 not found at standard places'.
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    65
                OperatingSystem setEnvironment: 'MINGW_DIR'     to: mingwDir.   
1489
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    66
            ].
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    67
            OperatingSystem setEnvironment: 'MINGW'         to: '__MINGW64__'.
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    68
            OperatingSystem setEnvironment: 'USEMINGW_ARG'  to: '-DUSEMINGW64'.
1543
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    69
            OperatingSystem setEnvironment: 'PATH'          to: (OperatingSystem getEnvironment: 'PATH') , ';' , (OperatingSystem getEnvironment: 'MINGW_DIR') , '\bin'.
1489
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    70
            cmd := 'mingwmake.bat ' , target.
1543
6d2bdaf0c9ec Fixed `MakefileTests` and `SnapshotRestartTests` to work on MSYS2-only systems
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1541
diff changeset
    71
        ].    
1489
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    72
    ] ifFalse:[
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    73
        cmd := 'make -f Makefile.init ', target
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
    74
    ].
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
    75
    output := String streamContents:[ :s|
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    76
        success := OperatingSystem executeCommand: cmd outputTo: s inDirectory: pkgdir
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    77
    ].
972b34959a7b Ensure Borland make is in PATH when running tests that compile code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1601
diff changeset
    78
    "/ 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
    79
    "/ 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
    80
    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
    81
        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
    82
        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
    83
    ].
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
    84
    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
    85
        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
    86
        description: 'Failed to make target ''', target, ''' in test package'.
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    "Created: / 14-08-2013 / 18:26:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    89
    "Modified: / 06-01-2017 / 23:20:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
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
    90
    "Modified: / 10-06-2017 / 21:47:51 / jv"
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    91
! !
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
!SnapshotRestartTests methodsFor:'private'!
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    94
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    95
do: setupBlock onRestartDo: restartBlock
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    96
    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
    97
    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
    98
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
    99
    setupBlock value.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   100
    Smalltalk addImageStartBlock:[
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
            Stdout nextPutLine:'===> Restarted from snapshot'.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   103
            restartBlock value.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   104
            Smalltalk exit: EXIT_CODE_SUCCESS.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   105
        ] fork
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   106
    ].
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   107
    Stdout nextPutLine:'===> Saving snapshot to ', testSelector , '.img'.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   108
    ObjectMemory snapShotOn: testSelector , '.img'.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   109
    Smalltalk exit: EXIT_CODE_SUCCESS.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   110
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   111
    "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
   112
    "Modified: / 06-01-2017 / 23:36:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   113
!
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   114
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   115
performTest
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   116
    | imageFile |
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   117
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   118
    imageFile := tmpdir / (testSelector , '.img').
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
    self spawnSelector:#performTestInternal inDirectory:tmpdir.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   121
    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
   122
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   123
    "/ For debugging purposes, save output.txt
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   124
    ( tmpdir / 'output.txt' ) exists ifTrue:[ 
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   125
        (tmpdir / 'output.txt') moveTo: (tmpdir / 'output0.txt')
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   126
    ].
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   127
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   128
    self spawnSmalltalk: { '--image' . imageFile pathName } inDirectory: tmpdir.
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   129
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   130
    "/ 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
   131
    "/ remove the temp directory.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   132
    [ 
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   133
        tmpdir recursiveRemove
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   134
    ] on: Error do:[:ex | 
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   135
        OperatingSystem isMSWINDOWSlike ifTrue:[ 
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   136
            "/ Argh, Windows and its file locking...
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   137
            Delay waitForSeconds: 1.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   138
            Error ignoreIn: [ tmpdir recursiveRemove ] .
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   139
        ] ifFalse:[ 
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   140
            ex reject.
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   141
        ].
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   142
    ].
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   143
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   144
    "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
   145
    "Modified: / 27-02-2017 / 09:35:37 / jv"
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   146
!
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   147
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   148
performTestInternal
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   149
    super performTest.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   150
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   151
    "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
   152
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
!SnapshotRestartTests methodsFor:'running'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
setUp
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   157
    super setUp.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   158
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
    tmpdir := Filename newTemporaryDirectory.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    exe := OperatingSystem pathOfSTXExecutable.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
    self make:'clobber'.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
    "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
   164
    "Modified (format): / 06-01-2017 / 23:21:54 / 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
   165
    "Modified (format): / 27-02-2017 / 09:32:41 / jv"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
tearDown
1597
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   169
    super tearDown.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   170
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   171
    "/ 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
   172
    "/ #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
   173
    "/ it behind for debugging purposes.
44192c225011 SnapshotRestartTests: code cleanup, debugging support
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1569
diff changeset
   174
    "/ tmpdir recursiveRemove.
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
    "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
   177
    "Modified (comment): / 27-02-2017 / 09:32:38 / jv"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
!SnapshotRestartTests methodsFor:'tests'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
test_bc
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   183
    "Test restart with bytecode-compiled package"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   185
    | result |
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   187
    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
   188
        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
   189
        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
   190
        result := ToRunOnFreshAndRestartedSnapshotTests buildSuite run.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   191
        self assert: result errorCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   192
        self assert: result failureCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   193
    ] onRestartDo:[ 
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   194
        result := ToRunOnFreshAndRestartedSnapshotTests buildSuite run.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   195
        self assert: result errorCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   196
        self assert: result failureCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   197
    ].
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
    "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
   200
    "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
   201
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
1569
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   203
test_gui_reopening
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   204
    "
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   205
    Test that GUI reopens just fine.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   206
    "
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   207
    | workspace browser |
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   208
    self do:[
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   209
    	Display isNil ifTrue:[Smalltalk openDisplay].
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   210
    	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
   211
        workspace := WorkspaceApplication new.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   212
        workspace open.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   213
        workspace window waitUntilVisible.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   214
        browser := Tools::NewSystemBrowser new.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   215
        browser open.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   216
        browser window waitUntilVisible.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   217
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   218
        self assert: workspace window notNil.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   219
        self assert: workspace window reallyRealized.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   220
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   221
        self assert: browser window notNil.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   222
        self assert: browser window reallyRealized.       
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   223
    ] onRestartDo:[ 
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   224
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   225
    	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
   226
        self assert: workspace window notNil.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   227
        self assert: workspace window reallyRealized.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   228
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   229
        self assert: browser window notNil.
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   230
        self assert: browser window reallyRealized.       
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   231
    ].
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   232
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   233
    "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
   234
!
e4f47eb7a708 Added SnapshotRestartTests>>test_gui_reopening
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1568
diff changeset
   235
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
test_stc
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   237
    "Test restart with bytecode-compiled package"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   239
    | result |
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
1568
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   241
    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
   242
        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
   243
        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
   244
        self make.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   245
        result := ToRunOnFreshAndRestartedSnapshotTests buildSuite run.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   246
        self assert: result errorCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   247
        self assert: result failureCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   248
    ] onRestartDo:[ 
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   249
        result := ToRunOnFreshAndRestartedSnapshotTests buildSuite run.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   250
        self assert: result errorCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   251
        self assert: result failureCount == 0.
4fc22e888376 Cleanup: refactored SnapshotRestartTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1567
diff changeset
   252
    ].
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    "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
   255
    "Modified: / 04-03-2017 / 12:25:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
!SnapshotRestartTests::ToRunOnFreshAndRestartedSnapshotTests methodsFor:'running'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
setUp
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
    (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
   262
        Smalltalk loadPackage: #'stx:goodies/regression/testData/packages/snapshot_restart'.
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
    ].
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
    "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
   266
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
!SnapshotRestartTests::ToRunOnFreshAndRestartedSnapshotTests methodsFor:'tests'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
test_01
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
    "/ Use Smalltalk at: to workaround compiler bug...
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
   273
    self assert: (Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') notNil.
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
    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
   275
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
    "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
   277
    "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
   278
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
test_02
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1191
diff changeset
   282
    "/ Use Smalltalk at: to workaround compiler bug...
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
    self assert: (Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') notNil.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
    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
   285
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
    "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
   287
    "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
   288
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
!SnapshotRestartTests::ToRunOnFreshAndRestartedSnapshotTests methodsFor:'tests - disabled'!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
disabled_test_03
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
    "/ 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
   294
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
    self assert: (Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') notNil.
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
    self assert: ((Smalltalk at: #'RegressionTests::SnapshotRestartTestsObject') new addThirteenUsingRememberedBlockTo: 2) == 15
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
    "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
   299
    "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
   300
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
!SnapshotRestartTests class methodsFor:'documentation'!
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
version
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
    ^ '$Header$'
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
!
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
version_CVS
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
    ^ '$Header$'
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
!
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
1489
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
   312
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
   313
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
   314
    ^ '$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
   315
!
2f9591a475f2 Fix in SnapshotRestartTests to use proper toolchain when building on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1191
diff changeset
   316
980
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
version_SVN
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
    ^ '$Id$'
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
! !
baea090b0fc1 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320