RegressionTests__SocketTests.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 1721 ea19dde999b3
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
     1
"{ Encoding: utf8 }"
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
     2
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1267
diff changeset
     3
"{ Package: 'stx:goodies/regression' }"
646
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
"{ NameSpace: RegressionTests }"
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
TestCase subclass:#SocketTests
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	instanceVariableNames:''
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	classVariableNames:''
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	poolDictionaries:''
1084
f3cea5a36b07 category change
Claus Gittinger <cg@exept.de>
parents: 647
diff changeset
    11
	category:'tests-Regression-Streams'
646
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!SocketTests methodsFor:'tests - open-close'!
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
test10_concurrentOpenClose
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    |p1 p2 sock host port n1 n2|
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
    20
    host := 'download.exept.de'.
646
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
    port := 80.
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
    n1 := n2 := 0.
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1267
diff changeset
    24
    p1 :=
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    25
        [
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    26
            [true] whileTrue:[
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    27
                sock := Socket newTCPclientToHost:host port:port.
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    28
                self assert:(sock notNil).
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    29
                Processor yield.
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    30
                n1 := n1 + 1.
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    31
                sock close
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    32
            ]
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    33
        ] newProcess.
646
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1267
diff changeset
    35
    p2 :=
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    36
        [
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    37
            [true] whileTrue:[
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    38
                sock := Socket newTCPclientToHost:host port:port.
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    39
                self assert:(sock notNil).
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    40
                Processor yield.
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    41
                n2 := n2 + 1.
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    42
                sock close
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    43
            ]
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    44
        ] newProcess.
646
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    p1 resume.
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    p2 resume.
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    Delay waitForSeconds:20.
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    p1 terminate.
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    p2 terminate.
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
    53
    Transcript showCR:'n1: %1; n2: %2' with:n1 with:n2.
1716
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
    54
    self assert:(n1 > 0).
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
    55
    self assert:(n2 > 0).
646
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    "Created: / 29-11-2011 / 14:43:57 / cg"
1716
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
    58
    "Modified: / 10-10-2017 / 12:15:10 / cg"
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
    59
    "Modified: / 10-10-2017 / 12:55:50 / stefan"
647
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    60
!
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    61
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    62
test11_concurrentOpenClose
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    63
    "using a non-existing host name (hoping that the connect will take longer then,
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    64
     and we can enforce concurrent execution)"
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    65
1716
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
    66
    |p1 p2 sock port n1 n2 nerr1 nerr2|
647
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    67
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    68
    port := 80.
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    69
    n1 := n2 := 0.
1716
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
    70
    nerr1 := nerr2 := 0.
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
    71
    
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1267
diff changeset
    72
    p1 :=
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    73
        [
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    74
            |host|
647
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    75
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    76
            [true] whileTrue:[
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
    77
                host := 'bla1.nonexisting-%1.de' bindWith:(UUID genRandomUUID).
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    78
                HostNameLookupError handle:[:ex |
1716
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
    79
                    nerr1 := nerr1 + 1.
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    80
                ] do:[
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    81
                    sock := Socket newTCPclientToHost:host port:port.
1716
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
    82
                    self assert:(sock notNil).
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    83
                    n1 := n1 + 1.
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
    84
                    Transcript showCR:host.
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    85
                    sock close
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    86
                ].
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
    87
                Processor yield.
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    88
            ]
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    89
        ] newProcess.
647
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    90
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1267
diff changeset
    91
    p2 :=
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    92
        [
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    93
            |host|
647
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
    94
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    95
            [true] whileTrue:[
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
    96
                host := 'bla2.nonexisting-%1.de' bindWith:(UUID genRandomUUID).
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    97
                HostNameLookupError handle:[:ex |
1716
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
    98
                    nerr2 := nerr2 + 1.
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    99
                ] do:[
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   100
                    sock := Socket newTCPclientToHost:host port:port.
1716
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
   101
                    self assert:(sock notNil).
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   102
                    Transcript showCR:host.
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   103
                    n2 := n2 + 1.
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   104
                    sock close
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   105
                ].
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   106
                Processor yield.
1715
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   107
            ]
247143b085d4 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   108
        ] newProcess.
647
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   109
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   110
    p1 priority:Processor userBackgroundPriority; resume.
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   111
    p2 priority:Processor userBackgroundPriority; resume.
647
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   112
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   113
    Delay waitForSeconds:10.
647
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   114
    p1 terminate.
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   115
    p2 terminate.
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   116
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   117
    Transcript showCR:'n1: %1; n2: %2' with:n1 with:n2.
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   118
    Transcript showCR:'nerr1: %1; nerr2: %2' with:nerr1 with:nerr1.
1716
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
   119
    self assert:(n1 = 0).
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
   120
    self assert:(n2 = 0).
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
   121
    self assert:(nerr1 > 0).
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
   122
    self assert:(nerr2 > 0).
647
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   123
588836b3ec73 added: #test11_concurrentOpenClose
Claus Gittinger <cg@exept.de>
parents: 646
diff changeset
   124
    "Created: / 29-11-2011 / 18:17:04 / cg"
1716
54d81e306117 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 1715
diff changeset
   125
    "Modified: / 10-10-2017 / 12:18:08 / cg"
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   126
    "Modified: / 10-10-2017 / 13:45:22 / stefan"
646
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
! !
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
1266
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   129
!SocketTests methodsFor:'tests - socket address'!
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   130
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   131
test20_localAddress
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   132
    "fails on MAC-osx"
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   133
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   134
    |addr nm|
1266
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   135
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   136
    addr := IPSocketAddress localHost.
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   137
    self assert:(addr hostAddress = #[127 0 0 1]).
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   138
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   139
    nm := addr hostName.
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   140
    self assert:(nm notEmptyOrNil).
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   141
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   142
    addr := IPSocketAddress addressString:'127.0.0.1'.
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   143
    self assert:(addr hostAddress = #[127 0 0 1]).
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1267
diff changeset
   144
    addr port:51121.
1266
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   145
    nm := addr hostName.
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   146
    self assert:(nm notEmptyOrNil).
1267
a98d46cee5f9 class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
   147
    self assert:(addr hostAddress = #[127 0 0 1]).
a98d46cee5f9 class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1266
diff changeset
   148
    self assert:(addr port = 51121).
1721
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   149
ea19dde999b3 #QUALITY by stefan
Stefan Vogel <sv@exept.de>
parents: 1716
diff changeset
   150
    "Modified: / 10-10-2017 / 12:57:49 / stefan"
1266
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   151
! !
ba8ef71776bd class: RegressionTests::SocketTests
Claus Gittinger <cg@exept.de>
parents: 1084
diff changeset
   152
646
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
!SocketTests class methodsFor:'documentation'!
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
version
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
    ^ '$Header$'
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
!
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
version_CVS
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    ^ '$Header$'
715c95096676 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
! !
1084
f3cea5a36b07 category change
Claus Gittinger <cg@exept.de>
parents: 647
diff changeset
   162