RegressionTests__Win32OperatingSystemTest.st
author sr
Mon, 27 Jan 2020 17:21:09 +0100
changeset 2538 c7a44333cbf0
parent 2481 8ed6ac4c665d
permissions -rw-r--r--
#BUGFIX by Stefan Reise class: WebSocketTest changed: #testCommunicationFilename
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1647
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
     1
"{ Encoding: utf8 }"
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
     2
2481
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
     3
"
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
     4
 COPYRIGHT (c) 2018 by eXept Software AG
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
     5
              All Rights Reserved
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
     6
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
     7
 This software is furnished under a license and may be used
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
     8
 only in accordance with the terms of that license and with the
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    10
 be provided or otherwise made available to, or used by, any
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    11
 other person.  No title to or ownership of the software is
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    12
 hereby transferred.
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    13
"
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1392
diff changeset
    14
"{ Package: 'stx:goodies/regression' }"
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
"{ NameSpace: RegressionTests }"
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
TestCase subclass:#Win32OperatingSystemTest
675
f98a0bb2f639 changed: #testMutex
Stefan Vogel <sv@exept.de>
parents: 355
diff changeset
    19
	instanceVariableNames:''
f98a0bb2f639 changed: #testMutex
Stefan Vogel <sv@exept.de>
parents: 355
diff changeset
    20
	classVariableNames:''
f98a0bb2f639 changed: #testMutex
Stefan Vogel <sv@exept.de>
parents: 355
diff changeset
    21
	poolDictionaries:''
1161
3d9b4eaddcf3 category changes
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    22
	category:'tests-Regression-RuntimeSystem'
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
2481
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    25
!Win32OperatingSystemTest class methodsFor:'documentation'!
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    26
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    27
copyright
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    28
"
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    29
 COPYRIGHT (c) 2018 by eXept Software AG
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    30
              All Rights Reserved
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    31
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    32
 This software is furnished under a license and may be used
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    33
 only in accordance with the terms of that license and with the
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    35
 be provided or otherwise made available to, or used by, any
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    36
 other person.  No title to or ownership of the software is
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    37
 hereby transferred.
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    38
"
8ed6ac4c665d #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1648
diff changeset
    39
! !
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
!Win32OperatingSystemTest methodsFor:'tests'!
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
1647
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    43
test01_Registry
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    44
    |k hasContentType|
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    45
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    46
    self 
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    47
        skipIf:[OperatingSystem isMSWINDOWSlike not] 
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    48
        description:'test skipped (OS is not WINDOWS)'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    49
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    50
    k := OperatingSystem registryEntry key:'HKEY_CLASSES_ROOT\MIME\Database\'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    51
    self assert:(k notNil).
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    52
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    53
    hasContentType := false.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    54
    k subKeyNamesAndClassesDo:[:nm :clsNm |
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    55
        "/ Transcript showCR:nm.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    56
        nm = 'Content Type' ifTrue:[hasContentType := true].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    57
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    58
    self assert:hasContentType.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    59
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    60
    "/ k subKeysDo:[:k | Transcript showCR:k].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    61
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    62
    "
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    63
     self new test01_Registry
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    64
    "
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    65
!
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    66
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    67
test02_RegistryStore_and_Retrieve
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    68
    |k s20 s40 s200 s800 s1600 s3200 s6400|
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    69
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    70
    self 
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    71
        skipIf:[OperatingSystem isMSWINDOWSlike not] 
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    72
        description:'test skipped (OS is not WINDOWS)'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    73
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    74
    (OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software\ExeptTest') isNil ifTrue:[
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    75
        (OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software') createSubKeyNamed:'ExeptTest'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    76
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    77
    k := OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software\ExeptTest'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    78
    self assert:k notNil.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    79
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    80
    (k valueNamed:'BLA10') isNil ifTrue:[
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    81
        k valueNamed:'BLA10' put:'1234567890'    
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    82
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    83
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    84
    s20 := '12345678901234567890'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    85
    s40 := s20,s20.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    86
    s200 := s40,s40,s40,s40,s40.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    87
    s800 := s200,s200,s200,s200.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    88
    s1600 := s800,s800.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    89
    s3200 := s1600,s1600.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    90
    s6400 := s3200,s3200.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    91
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    92
    (k valueNamed:'BLA1600') isNil ifTrue:[
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    93
        k valueNamed:'BLA1600' put:s1600    
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    94
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    95
    (k valueNamed:'BLA3200') isNil ifTrue:[
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    96
        k valueNamed:'BLA3200' put:s3200    
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    97
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    98
    (k valueNamed:'BLA6400') isNil ifTrue:[
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    99
        k valueNamed:'BLA6400' put:s6400    
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   100
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   101
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   102
    self assert:(k valueNames includesAll:#('BLA10' 'BLA1600' 'BLA3200')).
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   103
    self assert:(k valueNamed:'BLA10') = '1234567890'.  
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   104
    self assert:(k valueNamed:'BLA1600') = s1600.  
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   105
    self assert:(k valueNamed:'BLA3200') = s3200.  
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   106
    self assert:(k valueNamed:'BLA6400') = s6400.  
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   107
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   108
    "
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   109
     self new test02_RegistryStore_and_Retrieve
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   110
    "
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   111
!
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   112
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   113
test03_RegistryStore_and_Retrieve_Unicode
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   114
    "with unicode keys and values"
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   115
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   116
    |k s20 s40 s200 s800 s1600 s3200 s6400|
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   117
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   118
    self 
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   119
        skipIf:[OperatingSystem isMSWINDOWSlike not] 
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   120
        description:'test skipped (OS is not WINDOWS)'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   121
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   122
    self 
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   123
        skip:'Unicode not yet supported in Registry code'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   124
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   125
    (OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software\ExeptTest') isNil ifTrue:[
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   126
        (OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software') createSubKeyNamed:'ExeptTest'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   127
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   128
    k := OperatingSystem registryEntry key:'HKEY_CURRENT_USER\Software\ExeptTest'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   129
    self assert:k notNil.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   130
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   131
    (k valueNamed:'BLA10_u') isNil ifTrue:[
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   132
        k valueNamed:'BLA10_u' put:'αβγ4567890'    
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   133
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   134
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   135
    s20 := 'αβγ45678901234567890'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   136
    s40 := s20,s20.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   137
    s200 := s40,s40,s40,s40,s40.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   138
    s800 := s200,s200,s200,s200.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   139
    s1600 := s800,s800.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   140
    s3200 := s1600,s1600.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   141
    s6400 := s3200,s3200.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   142
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   143
    (k valueNamed:'BLA1600_u') isNil ifTrue:[
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   144
        k valueNamed:'BLA1600_u' put:s1600    
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   145
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   146
    (k valueNamed:'BLA3200_u') isNil ifTrue:[
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   147
        k valueNamed:'BLA3200_u' put:s3200    
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   148
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   149
    (k valueNamed:'BLA6400_u') isNil ifTrue:[
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   150
        k valueNamed:'BLA6400_u' put:s6400    
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   151
    ].
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   152
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   153
    self assert:(k valueNames includesAll:#('BLA10_u' 'BLA1600_u' 'BLA3200_u')).
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   154
    self assert:(k valueNamed:'BLA10_u') = 'αβγ4567890'.  
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   155
    self assert:(k valueNamed:'BLA1600_u') = s1600.  
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   156
    self assert:(k valueNamed:'BLA3200_u') = s3200.  
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   157
    self assert:(k valueNamed:'BLA6400_u') = s6400.  
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   158
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   159
    "
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   160
     self new test03_RegistryStore_and_Retrieve_Unicode
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   161
    "
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   162
!
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   163
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   164
test10_Mutex
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
    |handle alreadyExists lastErrorCode handleAndLastErrorCode|
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
1647
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   167
    self 
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   168
        skipIf:[OperatingSystem isMSWINDOWSlike not] 
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   169
        description:'test skipped (OS is not WINDOWS)'.
675
f98a0bb2f639 changed: #testMutex
Stefan Vogel <sv@exept.de>
parents: 355
diff changeset
   170
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
    handleAndLastErrorCode := Win32OperatingSystem createMutexNamed: '8906f5e0-54ed-11dd-9da4-001558137da0'.
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
    handle := handleAndLastErrorCode first.
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
    handle isNil ifTrue:[^ self].
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
    lastErrorCode := handleAndLastErrorCode second.
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
    self assert: lastErrorCode == 0.
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
    alreadyExists := (lastErrorCode == 5 "ERROR_ACCESS_DENIED" or:[ lastErrorCode == 183 "ERROR_ALREADY_EXISTS"]).
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
    alreadyExists ifTrue:[
1647
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   178
        Transcript showCR: 'Mutex already exists!!'.
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   179
        ^ self.
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
    ].
354
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   181
    Transcript showCR: 'Mutex created!!'.
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    Win32OperatingSystem waitForSingleObject: handle.
355
d86e28afd549 changed #testMutex
Claus Gittinger <cg@exept.de>
parents: 354
diff changeset
   183
    Delay waitForSeconds:0.5. "/ self halt.
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
    Win32OperatingSystem releaseMutex: handle.
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
    Win32OperatingSystem primCloseHandle: handle.
354
Claus Gittinger <cg@exept.de>
parents: 344
diff changeset
   186
    Transcript showCR: 'Mutex closed!!'.
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
    "
1647
87d3c317faa4 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   189
     self new test10_Mutex
1352
e0d857144dbf #FEATURE
Claus Gittinger <cg@exept.de>
parents: 1161
diff changeset
   190
    "
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
! !
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
!Win32OperatingSystemTest class methodsFor:'documentation'!
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
version
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
    ^ '$Header$'
1648
d0e3584dd9a2 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   197
!
d0e3584dd9a2 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   198
d0e3584dd9a2 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   199
version_CVS
d0e3584dd9a2 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1647
diff changeset
   200
    ^ '$Header$'
344
21c39da58029 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
! !
1161
3d9b4eaddcf3 category changes
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   202