RegressionTests__STCCompilerTests.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 1447 2351db93aa5b
child 1500 d406a10b2965
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
638
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
TestCase subclass:#STCCompilerTests
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:''
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
1166
eead52f6c916 category changes
Claus Gittinger <cg@exept.de>
parents: 1153
diff changeset
     9
	category:'tests-Regression-Compilers'
638
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!STCCompilerTests class methodsFor:'documentation'!
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
documentation
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
"
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    documentation to be added.
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    [author:]
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    19
	cg
638
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
    [instance variables:]
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
    [class variables:]
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
    [see also:]
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
"
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
! !
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!STCCompilerTests methodsFor:'code templates'!
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    32
inlinedBlockVariables1
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    33
    "stc generates wrong code for inlined variables"
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    34
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    35
    | b |
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    36
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    37
    b := [:arg1 |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    38
	|local1|
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    39
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    40
	local1 := #local1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    41
	1 to:3 do:[:argb_1 |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    42
	    |localb_1 localb_2|
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    43
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    44
	    localb_1 := #localb_1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    45
	    localb_2 := #localb_2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    46
	    1 to:5 do:[:argbb_1 |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    47
		|localbb_1 localbb_2|
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    48
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    49
		localbb_1 := #localbb_1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    50
		localbb_2 := #localbb_2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    51
		argbb_1 == 3 ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    52
		    ^ [:argbbb_1 |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    53
			|localbbb_1 localbbb_2|
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    54
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    55
			localbbb_1 := #localbbb_1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    56
			localbbb_2 := #localbbb_2.
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    57
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    58
			localb_1 "/ here, in old stc versions, localb_2 is returned
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    59
		    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    60
		].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    61
	    ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    62
	]
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    63
    ].
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    64
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    65
    ^ b value:#arg1
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    66
!
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    67
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    68
inlinedBlockVariables2
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    69
    "stc generates wrong code for inlined variables"
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    70
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    71
    | b |
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    72
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    73
    b := [:arg1 |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    74
	|local1|
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    75
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    76
	local1 := #local1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    77
	1 to:3 do:[:argb_1 |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    78
	    |localb_1 localb_2|
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    79
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    80
	    localb_1 := #localb_1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    81
	    localb_2 := #localb_2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    82
	    1 to:5 do:[:argbb_1 |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    83
		|localbb_1 localbb_2|
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    84
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    85
		localbb_1 := #localbb_1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    86
		localbb_2 := #localbb_2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    87
		argbb_1 == 3 ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    88
		    ^ [:argbbb_1 |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    89
			|localbbb_1 localbbb_2|
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    90
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    91
			localbbb_1 := #localbbb_1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    92
			localbbb_2 := #localbbb_2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    93
			argbb_1
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    94
		    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    95
		].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    96
	    ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
    97
	]
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    98
    ].
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    99
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   100
    ^ b value:#arg1
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   101
!
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   102
638
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
nextLittleEndianNumber: n from:bytes
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    "stc generates wrong code for the following s := assignment"
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    | s |
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    s := 0.
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
    n to: 1 by: -1 do: [:i | s := (s bitShift: 8) bitOr: (bytes at: i)].
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    ^ s
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
    "Created: / 17-09-2011 / 10:32:29 / cg"
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
! !
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
!STCCompilerTests methodsFor:'tests'!
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   117
test01_compilation
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   118
    "checks for an stc compiler bug (detected Sep 2011).
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   119
     stc generates bad code for the bitOr expression in nextLittleEndianNumber"
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   120
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   121
    Class withoutUpdatingChangesDo:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   122
	(STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   123
	    compileToMachineCode:'hello
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   124
%{
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   125
    console_printf("hello world\n");
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   126
%}
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   127
'
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   128
	    forClass:self class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   129
	    selector:#'hello'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   130
	    inCategory:'tests'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   131
	    notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   132
	    install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   133
	    skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   134
	    silent:true.
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   135
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   136
	self hello.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   137
	self class removeSelector:#hello.
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   138
    ].
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   139
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   140
    "
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   141
     self run:#test01_compilation
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   142
     self new test01_compilation
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   143
    "
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   144
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   145
    "Created: / 17-09-2011 / 10:32:18 / cg"
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   146
!
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   147
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   148
test02_compilation
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   149
    "checks for an stc compiler bug (detected Sep 2011).
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   150
     stc generates bad code for the bitOr expression in nextLittleEndianNumber"
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   151
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   152
    |val|
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   153
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   154
    Class withoutUpdatingChangesDo:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   155
	(STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   156
	    compileToMachineCode:'x123
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   157
%{
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   158
    RETURN(__MKSMALLINT(123));
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   159
%}
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   160
'
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   161
	    forClass:self class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   162
	    selector:#'x123'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   163
	    inCategory:'tests'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   164
	    notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   165
	    install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   166
	    skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   167
	    silent:true.
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   168
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   169
	val := self x123.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   170
	self assert:(val == 123).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   171
	self class removeSelector:#x123.
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   172
    ].
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   173
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   174
    "
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   175
     self run:#test02_compilation
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   176
     self new test02_compilation
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   177
    "
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   178
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   179
    "Created: / 17-09-2011 / 10:32:18 / cg"
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   180
!
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   181
994
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   182
test03_compilation
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   183
    "As of 2013-09-04, instance variables of Class are not visible
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   184
     in class methods of ordinary classes.
1360
a9e32a75b2cb #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 1344
diff changeset
   185
     For bytecode-compiled method they are.
994
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   186
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   187
     This tests checks for this bug.
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   188
    "
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   189
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   190
    |val|
995
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   191
    [
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   192
       Class withoutUpdatingChangesDo:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   193
	   "/ Check bytecode version first...
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   194
	   self class class compile:'returnMyName
995
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   195
       ^ name
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   196
   '.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   197
	   val := self class returnMyName.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   198
	   self assert:(val == self class name).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   199
	   self class class removeSelector:#returnMyName.
994
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   200
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   201
	   "/ Now, compile the same source using stc and check...
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   202
	   (STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   203
	       compileToMachineCode:'returnMyName
995
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   204
       ^ name
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   205
   '
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   206
	       forClass:self class class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   207
	       selector:#'returnMyName'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   208
	       inCategory:'tests'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   209
	       notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   210
	       install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   211
	       skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   212
	       silent:true.
994
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   213
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   214
	   val := self class returnMyName.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   215
	   self assert:(val == self class name).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   216
	   self class class removeSelector:#returnMyName.
995
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   217
       ].
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   218
    ] ensure:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   219
	self class class removeSelector:#returnMyName.
995
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   220
    ]
994
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   221
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   222
    "
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   223
     self run:#test02_compilation
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   224
     self new test02_compilation
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   225
    "
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   226
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   227
    "Created: / 04-09-2013 / 09:35:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   228
!
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   229
1048
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   230
test04_doubleArraySize_bug
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   231
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   232
    "As of 2014-03-11, __doubleArraySize() seem to return off-by-one size
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   233
     on Windows. Under Linux it seem to work just fine.
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   234
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   235
     This tests checks for this bug.
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   236
    "
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   237
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   238
    | sizes |
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   239
    [
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   240
       Class withoutUpdatingChangesDo:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   241
	   (STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   242
	       compileToMachineCode:'doubleArraySize
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   243
		    | arr size1 size2 |
1048
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   244
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   245
		    arr := DoubleArray new: 8.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   246
		    size1 := arr size.
1048
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   247
%{
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   248
		    size2 = __MKINT(__doubleArraySize(arr));
1048
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   249
%}.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   250
		    ^ Array with: size1 with: size2.
1048
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   251
   '
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   252
	       forClass:self class class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   253
	       selector:#'doubleArraySize'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   254
	       inCategory:'tests'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   255
	       notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   256
	       install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   257
	       skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   258
	       silent:true.
1048
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   259
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   260
	   sizes := self class perform: #doubleArraySize.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   261
	   self assert:(sizes first == 8).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   262
	   self assert:(sizes second == 8).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   263
	   self class class removeSelector:#doubleArraySize.
1048
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   264
       ].
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   265
    ] ensure:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   266
	self class class removeSelector:#doubleArraySize.
1048
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   267
    ]
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   268
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   269
    "
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   270
     self run:#test02_compilation
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   271
     self new test02_compilation
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   272
    "
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   273
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   274
    "Created: / 11-02-2014 / 23:50:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   275
    "Modified (format): / 04-03-2014 / 10:13:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1048
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   276
!
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   277
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   278
test10_bitor_bug
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   279
    "checks for an stc compiler bug (detected Sep 2011).
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   280
     stc generates bad code for the bitOr expression in nextLittleEndianNumber"
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   281
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   282
    |val mthd|
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   283
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   284
    Class withoutUpdatingChangesDo:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   285
	self class recompile:#'nextLittleEndianNumber:from:'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   286
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   287
	val := self nextLittleEndianNumber:4 from:#[1 2 3 4].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   288
	self assert:(val = 16r04030201).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   289
	val := self nextLittleEndianNumber:8 from:#[1 2 3 4 5 6 7 8].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   290
	self assert:(val = 16r0807060504030201).
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   291
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   292
	mthd := self class compiledMethodAt:#'nextLittleEndianNumber:from:'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   293
	(STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   294
	    compileToMachineCode:mthd source
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   295
	    forClass:self class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   296
	    selector:#'nextLittleEndianNumber:from:'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   297
	    inCategory:mthd category
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   298
	    notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   299
	    install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   300
	    skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   301
	    silent:true.
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   302
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   303
	self
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   304
	    assert:mthd ~= (self class compiledMethodAt:#'nextLittleEndianNumber:from:')
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   305
	    description:'Could not compile with STC'.
894
fd92a3529be3 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 809
diff changeset
   306
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   307
	val := self nextLittleEndianNumber:4 from:#[1 2 3 4].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   308
	self assert:(val = 16r04030201).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   309
	val := self nextLittleEndianNumber:8 from:#[1 2 3 4 5 6 7 8].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   310
	self assert:(val = 16r0807060504030201).
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   311
    ].
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   312
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   313
    "
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   314
     self run:#test10_bitor_bug
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   315
     self new test10_bitor_bug
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   316
    "
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   317
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   318
    "Created: / 17-09-2011 / 10:32:18 / cg"
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   319
!
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   320
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   321
test20_localsOfInlinedBlock_bug
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   322
    "checks for an stc compiler bug (detected Sep 2011).
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   323
     stc generates bad code for the bitOr expression in nextLittleEndianNumber"
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   324
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   325
    |blk mthd|
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   326
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   327
    Class withoutUpdatingChangesDo:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   328
	self class recompile:#'inlinedBlockVariables1'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   329
	blk := self inlinedBlockVariables1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   330
	self assert:((blk value:#argbbb_1) == #localb_1).
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   331
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   332
	mthd := self class compiledMethodAt:#'inlinedBlockVariables1'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   333
	(STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   334
	    compileToMachineCode:mthd source
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   335
	    forClass:self class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   336
	    selector:#'inlinedBlockVariables1'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   337
	    inCategory:mthd category
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   338
	    notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   339
	    install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   340
	    skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   341
	    silent:true.
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   342
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   343
	self
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   344
	    assert:mthd ~= (self class compiledMethodAt:#'inlinedBlockVariables1')
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   345
	    description:'Could not compile with STC'.
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   346
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   347
	blk := self inlinedBlockVariables1.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   348
	self assert:((blk value:#argbbb_1) == #localb_1).
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   349
    ].
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   350
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   351
    "
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   352
     self run:#test20_localsOfInlinedBlock_bug
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   353
     self new test20_localsOfInlinedBlock_bug
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   354
    "
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   355
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   356
    "Created: / 17-09-2011 / 10:32:18 / cg"
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   357
!
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   358
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   359
test21_localsOfInlinedBlock_bug
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   360
    "checks for an stc compiler bug (detected Sep 2011).
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   361
     stc generates bad code for the bitOr expression in nextLittleEndianNumber"
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   362
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   363
    |blk mthd|
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   364
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   365
    Class withoutUpdatingChangesDo:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   366
	self class recompile:#'inlinedBlockVariables2'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   367
	blk := self inlinedBlockVariables2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   368
	self assert:((blk value:#argbbb_1) == 3).
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   369
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   370
	mthd := self class compiledMethodAt:#'inlinedBlockVariables2'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   371
	(STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   372
	    compileToMachineCode:mthd source
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   373
	    forClass:self class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   374
	    selector:#'inlinedBlockVariables2'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   375
	    inCategory:mthd category
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   376
	    notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   377
	    install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   378
	    skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   379
	    silent:true.
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   380
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   381
	self
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   382
	    assert:mthd ~= (self class compiledMethodAt:#'inlinedBlockVariables2')
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   383
	    description:'Could not compile with STC'.
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   384
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   385
	blk := self inlinedBlockVariables2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   386
	self assert:((blk value:#argbbb_1) == 3).
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   387
    ].
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   388
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   389
    "
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   390
     self run:#test21_localsOfInlinedBlock_bug
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   391
     self new test21_localsOfInlinedBlock_bug
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   392
    "
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   393
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   394
    "Created: / 17-09-2011 / 10:32:18 / cg"
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   395
!
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   396
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   397
test_LongIntegerArray_01
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   398
    |sizes|
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   399
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   400
    [
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   401
	Class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   402
	    withoutUpdatingChangesDo:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   403
		"/ Now, compile the same source using stc and check...
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   404
		(STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   405
		    compileToMachineCode:'longIntegerArray_size
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   406
		    | arr size1 size2 |
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   407
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   408
		    arr := LongIntegerArray new: 8.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   409
		    size1 := arr size.
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   410
%{
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   411
		    size2 = __MKINT(__longIntegerArraySize(arr));
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   412
%}.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   413
		    ^ Array with: size1 with: size2.
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   414
   '
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   415
		    forClass:self class class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   416
		    selector:#'longIntegerArray_size'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   417
		    inCategory:'tests'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   418
		    notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   419
		    install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   420
		    skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   421
		    silent:true.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   422
		sizes := self class perform:#'longIntegerArray_size'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   423
		self assert:(sizes first == 8).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   424
		self assert:(sizes second == 8).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   425
		self class class removeSelector:#'longIntegerArray_size'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   426
	    ].
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   427
    ] ensure:[ self class class removeSelector:#'longIntegerArray_size'. ]
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   428
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   429
    "
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   430
     self run:#test02_compilation
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   431
     self new test02_compilation"
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   432
    "Created: / 04-03-2014 / 10:20:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   433
!
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   434
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   435
test_LongIntegerArray_02
1344
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   436
    |sizes verbose|
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   437
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   438
    verbose := false.
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   439
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   440
    [
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   441
	Class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   442
	    withoutUpdatingChangesDo:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   443
		(STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   444
		    compileToMachineCode:'longIntegerArray_i_element
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   445
		    | arr v1 v8 |
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   446
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   447
		    arr := LongIntegerArray new: 8.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   448
		    arr at: 1 put: 11123456789.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   449
		    arr at: 8 put: 11123456789.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   450
		    self assert: (arr at: 1) = 11123456789.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   451
		    self assert: (arr at: 8) = 11123456789.
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   452
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   453
%{
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   454
		    __uint64__ val;
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   455
		    console_printf("arr: arr = 0x%x\n", (INT)arr);
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   456
#if defined(__x86_64__)
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   457
		    val = 0x0001000100010001;
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   458
#else
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   459
		    val.lo = 1; val.hi = 1;
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   460
#endif
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   461
		    val =  __LongIntegerArrayInstPtr(arr)->i_element[0];
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   462
//                    console_printf("v1: val.lo = %d, val.hi = %d\n", val.lo, val.hi);
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   463
		    v1 = __MKUINT64(&val);
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   464
		    val =  __LongIntegerArrayInstPtr(arr)->i_element[7];
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   465
//                    console_printf("v2: val.lo = %d, val.hi = %d\n", val.lo, val.hi);
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   466
		    v8 = __MKUINT64(&val);
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   467
%}.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   468
		    v1 errorPrintCR.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   469
		    v8 errorPrintCR.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   470
		    ^ Array with: v1 with: v8.
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   471
   '
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   472
		    forClass:self class class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   473
		    selector:#'longIntegerArray_i_element'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   474
		    inCategory:'tests'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   475
		    notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   476
		    install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   477
		    skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   478
		    silent:true.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   479
		1 to:100 do:[:i |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   480
		    verbose ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   481
			('Pass ' , i printString) errorPrintCR.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   482
		    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   483
		    sizes := self class perform:#'longIntegerArray_i_element'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   484
		    self assert:(sizes first = 11123456789) description:('failed in pass ',i printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   485
		    self assert:(sizes second = 11123456789) description:('failed in pass ',i printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   486
		].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   487
		self class class removeSelector:#'longIntegerArray_i_element'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   488
	    ].
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   489
    ] ensure:[ self class class removeSelector:#'longIntegerArray_i_element'. ]
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   490
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   491
    "
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   492
     self run:#test02_compilation
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   493
     self new test02_compilation"
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   494
    "Created: / 04-03-2014 / 10:21:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1152
c9762558857f class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1151
diff changeset
   495
    "Modified: / 26-06-2014 / 10:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   496
!
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   497
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   498
test_LongIntegerArray_03
1344
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   499
    "does many scavenges to check if the moved LongIntegerArray remains at
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   500
     an aligned address"
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   501
1344
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   502
    |verbose arr scaveneges|
1153
76b812a0759c Added test to prove that (Signed)LongIntegerArray at:/at:put: behaves wrong on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1152
diff changeset
   503
1344
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   504
    verbose := false.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   505
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   506
    verbose ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   507
	('=====') errorPrintCR
1344
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   508
    ].
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   509
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   510
    arr := LongIntegerArray new:8.
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   511
    arr at:1 put:11123456789.
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   512
    arr at:8 put:11123456789.
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   513
    self assert:(arr at:1) = 11123456789.
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   514
    self assert:(arr at:8) = 11123456789.
1344
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   515
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   516
    verbose ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   517
	('   arr = 0x' , (ObjectMemory addressOf:arr) hexPrintString) errorPrintCR.
1344
1552f03fe63a #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 1290
diff changeset
   518
    ].
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   519
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   520
    1 to:100 do:[:i |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   521
	verbose ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   522
	    ('Pass ' , i printString) errorPrintCR.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   523
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   524
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   525
	scaveneges := ObjectMemory scavengeCount.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   526
	[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   527
	    scaveneges == ObjectMemory scavengeCount
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   528
	] whileTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   529
	    "/ Allocate some gagbage"
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   530
	    Array new:(Random nextIntegerBetween:1 and:100)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   531
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   532
	verbose ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   533
	    ('B: arr = 0x' , (ObjectMemory addressOf:arr) hexPrintString) errorPrintCR.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   534
	    ('   arr at: 1 ==> ' , (arr at:1) printString) errorPrintCR.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   535
	    ('   arr at: 8 ==> ' , (arr at:8) printString) errorPrintCR.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   536
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   537
	self assert:(arr at:1) = 11123456789 description:('failed in pass ',i printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   538
	self assert:(arr at:8) = 11123456789 description:('failed in pass ',i printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   539
	verbose ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   540
	    ('A: arr = 0x' , (ObjectMemory addressOf:arr) hexPrintString) errorPrintCR.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   541
	]
1153
76b812a0759c Added test to prove that (Signed)LongIntegerArray at:/at:put: behaves wrong on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1152
diff changeset
   542
    ]
76b812a0759c Added test to prove that (Signed)LongIntegerArray at:/at:put: behaves wrong on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1152
diff changeset
   543
76b812a0759c Added test to prove that (Signed)LongIntegerArray at:/at:put: behaves wrong on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1152
diff changeset
   544
    "
76b812a0759c Added test to prove that (Signed)LongIntegerArray at:/at:put: behaves wrong on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1152
diff changeset
   545
     self run:#test_LongIntegeraArray_03
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   546
     self new test_LongIntegeraArray_03"
1153
76b812a0759c Added test to prove that (Signed)LongIntegerArray at:/at:put: behaves wrong on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1152
diff changeset
   547
    "Created: / 26-06-2014 / 12:21:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76b812a0759c Added test to prove that (Signed)LongIntegerArray at:/at:put: behaves wrong on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1152
diff changeset
   548
!
76b812a0759c Added test to prove that (Signed)LongIntegerArray at:/at:put: behaves wrong on Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1152
diff changeset
   549
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   550
test_SignedLongIntegerArray_01
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   551
    |sizes|
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   552
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   553
    [
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   554
	Class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   555
	    withoutUpdatingChangesDo:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   556
		"/ Now, compile the same source using stc and check...
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   557
		(STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   558
		    compileToMachineCode:'signedLongIntegerArray_size
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   559
		    | arr size1 size2 |
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   560
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   561
		    arr := SignedLongIntegerArray new: 8.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   562
		    size1 := arr size.
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   563
%{
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   564
		    size2 = __MKINT(__signedLongIntegerArraySize(arr));
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   565
%}.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   566
		    ^ Array with: size1 with: size2.
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   567
   '
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   568
		    forClass:self class class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   569
		    selector:#'signedLongIntegerArray_size'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   570
		    inCategory:'tests'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   571
		    notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   572
		    install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   573
		    skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   574
		    silent:true.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   575
		sizes := self class perform:#'signedLongIntegerArray_size'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   576
		self assert:(sizes first == 8).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   577
		self assert:(sizes second == 8).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   578
		self class class removeSelector:#'signedLongIntegerArray_size'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   579
	    ].
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   580
    ] ensure:[ self class class removeSelector:#'signedLongIntegerArray_size'. ]
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   581
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   582
    "
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   583
     self run:#test02_compilation
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   584
     self new test02_compilation"
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   585
    "Created: / 04-03-2014 / 10:11:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   586
!
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   587
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   588
test_SignedLongIntegerArray_02
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   589
    |sizes|
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   590
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   591
    [
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   592
	Class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   593
	    withoutUpdatingChangesDo:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   594
		(STCCompilerInterface new)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   595
		    compileToMachineCode:'signedLongIntegerArray_i_element
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   596
		    | arr v1 v8 |
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   597
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   598
		    arr := SignedLongIntegerArray new: 8.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   599
		    arr at: 1 put: 1123456789.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   600
		    arr at: 8 put: 1123456789.
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   601
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   602
%{
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   603
		    __int64__ val;
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   604
		    val =  __SignedLongIntegerArrayInstPtr(arr)->i_element[0];
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   605
		    v1 = __MKINT64(&val);
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   606
		    val =  __SignedLongIntegerArrayInstPtr(arr)->i_element[7];
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   607
		    v8 = __MKINT64(&val);
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   608
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   609
%}.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   610
		    ^ Array with: v1 with: v8.
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   611
   '
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   612
		    forClass:self class class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   613
		    selector:#'signedLongIntegerArray_i_element'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   614
		    inCategory:'tests'
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   615
		    notifying:nil
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   616
		    install:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   617
		    skipIfSame:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   618
		    silent:true.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   619
		sizes := self class perform:#'signedLongIntegerArray_i_element'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   620
		self assert:(sizes first = 1123456789).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   621
		self assert:(sizes second = 1123456789).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   622
		self class class removeSelector:#'signedLongIntegerArray_i_element'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1360
diff changeset
   623
	    ].
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   624
    ] ensure:[ self class class removeSelector:#'signedLongIntegerArray_i_element'. ]
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   625
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   626
    "
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   627
     self run:#test02_compilation
1290
9575752f8c52 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 1166
diff changeset
   628
     self new test02_compilation"
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   629
    "Created: / 04-03-2014 / 10:13:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
638
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
! !
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
!STCCompilerTests class methodsFor:'documentation'!
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
version
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
    ^ '$Header$'
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
!
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
version_CVS
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
    ^ '$Header$'
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
! !
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   641