RegressionTests__STCCompilerTests.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 26 Jun 2014 11:44:55 +0200
changeset 1152 c9762558857f
parent 1151 8fafc9a108b9
child 1153 76b812a0759c
permissions -rw-r--r--
class: RegressionTests::STCCompilerTests removed: #longIntegerArray_i_element changed: #test_LongIntegeraArray_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
638
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'exept:regression' }"
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:''
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'tests-Regression'
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:]
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
        cg
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
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    37
    b := [:arg1 | 
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    38
        |local1|
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    39
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    40
        local1 := #local1.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    41
        1 to:3 do:[:argb_1 |
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    42
            |localb_1 localb_2|
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    43
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    44
            localb_1 := #localb_1.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    45
            localb_2 := #localb_2.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    46
            1 to:5 do:[:argbb_1 |
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    47
                |localbb_1 localbb_2|
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    48
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    49
                localbb_1 := #localbb_1.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    50
                localbb_2 := #localbb_2.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    51
                argbb_1 == 3 ifTrue:[
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    52
                    ^ [:argbbb_1 |
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    53
                        |localbbb_1 localbbb_2|
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    54
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    55
                        localbbb_1 := #localbbb_1.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    56
                        localbbb_2 := #localbbb_2.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    57
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    58
                        localb_1 "/ here, in old stc versions, localb_2 is returned
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    59
                    ].
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    60
                ].
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    61
            ]
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
    62
        ]
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
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    73
    b := [:arg1 | 
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    74
        |local1|
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    75
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    76
        local1 := #local1.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    77
        1 to:3 do:[:argb_1 |
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    78
            |localb_1 localb_2|
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    79
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    80
            localb_1 := #localb_1.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    81
            localb_2 := #localb_2.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    82
            1 to:5 do:[:argbb_1 |
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    83
                |localbb_1 localbb_2|
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    84
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    85
                localbb_1 := #localbb_1.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    86
                localbb_2 := #localbb_2.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    87
                argbb_1 == 3 ifTrue:[
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    88
                    ^ [:argbbb_1 |
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    89
                        |localbbb_1 localbbb_2|
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    90
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    91
                        localbbb_1 := #localbbb_1.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    92
                        localbbb_2 := #localbbb_2.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    93
                        argbb_1 
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    94
                    ].
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    95
                ].
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    96
            ]
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
    97
        ]
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:[
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   122
        (STCCompilerInterface new)
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   123
            compileToMachineCode:'hello
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
'
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   128
            forClass:self class
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   129
            selector:#'hello'
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   130
            inCategory:'tests'
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   131
            notifying:nil
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   132
            install:true
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   133
            skipIfSame:false
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   134
            silent:true.
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   135
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   136
        self hello.
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   137
        self class removeSelector:#hello.
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:[
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   155
        (STCCompilerInterface new)
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   156
            compileToMachineCode:'x123
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
'
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   161
            forClass:self class
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   162
            selector:#'x123'
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   163
            inCategory:'tests'
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   164
            notifying:nil
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   165
            install:true
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   166
            skipIfSame:false
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   167
            silent:true.
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   168
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   169
        val := self x123.
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   170
        self assert:(val == 123).
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   171
        self class removeSelector:#x123.
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
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   184
     in class methods of ordinary classes. For bytecode-compiled method
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   185
     they are.
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:[
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   193
           "/ Check bytecode version first...
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   194
           self class class compile:'returnMyName
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
   '.
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   197
           val := self class returnMyName.
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   198
           self assert:(val == self class name).
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
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
995
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   201
           "/ Now, compile the same source using stc and check...
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   202
           (STCCompilerInterface new)
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   203
               compileToMachineCode:'returnMyName
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
   '
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   206
               forClass:self class class
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   207
               selector:#'returnMyName'
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   208
               inCategory:'tests'
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   209
               notifying:nil
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   210
               install:true
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   211
               skipIfSame:false
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   212
               silent:true.
994
914cf744f89e class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 894
diff changeset
   213
995
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   214
           val := self class returnMyName.
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   215
           self assert:(val == self class name).
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   216
           self class class removeSelector:#returnMyName.
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:[
676127617c9e Oops, fixed method removal.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 994
diff changeset
   219
        self class class removeSelector:#returnMyName.
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:[
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   241
           (STCCompilerInterface new)
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   242
               compileToMachineCode:'doubleArraySize
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   243
                    | arr size1 size2 |
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   244
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   245
                    arr := DoubleArray new: 8.
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   246
                    size1 := arr size.
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   247
%{
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   248
                    size2 = __MKINT(__doubleArraySize(arr));
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   249
%}.
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   250
                    ^ Array with: size1 with: size2.
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   251
   '
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   252
               forClass:self class class
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   253
               selector:#'doubleArraySize'
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   254
               inCategory:'tests'
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   255
               notifying:nil
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   256
               install:true
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   257
               skipIfSame:false
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   258
               silent:true.
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   259
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   260
           sizes := self class perform: #doubleArraySize.
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   261
           self assert:(sizes first == 8).
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   262
           self assert:(sizes second == 8).
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   263
           self class class removeSelector:#doubleArraySize.
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:[
b5f4b15a3dbf Added RegressionTests::STCCompilerTest>>#test04_doubleArraySize_bug
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1047
diff changeset
   266
        self class class removeSelector:#doubleArraySize.
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:[
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   285
        self class recompile:#'nextLittleEndianNumber:from:'.
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   286
        val := self nextLittleEndianNumber:4 from:#[1 2 3 4].
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   287
        self assert:(val = 16r04030201).
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   288
        val := self nextLittleEndianNumber:8 from:#[1 2 3 4 5 6 7 8].
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   289
        self assert:(val = 16r0807060504030201).
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   290
894
fd92a3529be3 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 809
diff changeset
   291
        mthd := self class compiledMethodAt:#'nextLittleEndianNumber:from:'.
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   292
        (STCCompilerInterface new)
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   293
            compileToMachineCode:mthd source
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   294
            forClass:self class
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   295
            selector:#'nextLittleEndianNumber:from:'
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   296
            inCategory:mthd category
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   297
            notifying:nil
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   298
            install:true
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   299
            skipIfSame:false
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   300
            silent:true.
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   301
894
fd92a3529be3 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 809
diff changeset
   302
        self 
fd92a3529be3 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 809
diff changeset
   303
            assert:mthd ~= (self class compiledMethodAt:#'nextLittleEndianNumber:from:')
fd92a3529be3 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 809
diff changeset
   304
            description:'Could not compile with STC'.
fd92a3529be3 class: RegressionTests::STCCompilerTests
Stefan Vogel <sv@exept.de>
parents: 809
diff changeset
   305
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   306
        val := self nextLittleEndianNumber:4 from:#[1 2 3 4].
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   307
        self assert:(val = 16r04030201).
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   308
        val := self nextLittleEndianNumber:8 from:#[1 2 3 4 5 6 7 8].
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   309
        self assert:(val = 16r0807060504030201).
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   310
    ].
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
     self run:#test10_bitor_bug
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   314
     self new test10_bitor_bug
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   315
    "
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
    "Created: / 17-09-2011 / 10:32:18 / cg"
1046
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   318
!
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
test20_localsOfInlinedBlock_bug
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   321
    "checks for an stc compiler bug (detected Sep 2011).
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   322
     stc generates bad code for the bitOr expression in nextLittleEndianNumber"
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   323
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   324
    |blk mthd|
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   325
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   326
    Class withoutUpdatingChangesDo:[
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   327
        self class recompile:#'inlinedBlockVariables1'.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   328
        blk := self inlinedBlockVariables1.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   329
        self assert:((blk value:#argbbb_1) == #localb_1).
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   330
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   331
        mthd := self class compiledMethodAt:#'inlinedBlockVariables1'.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   332
        (STCCompilerInterface new)
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   333
            compileToMachineCode:mthd source
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   334
            forClass:self class
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   335
            selector:#'inlinedBlockVariables1'
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   336
            inCategory:mthd category
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   337
            notifying:nil
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   338
            install:true
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   339
            skipIfSame:false
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   340
            silent:true.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   341
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   342
        self 
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   343
            assert:mthd ~= (self class compiledMethodAt:#'inlinedBlockVariables1')
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   344
            description:'Could not compile with STC'.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   345
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   346
        blk := self inlinedBlockVariables1.
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   347
        self assert:((blk value:#argbbb_1) == #localb_1).
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   348
    ].
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
     self run:#test20_localsOfInlinedBlock_bug
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   352
     self new test20_localsOfInlinedBlock_bug
06719286467f class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 995
diff changeset
   353
    "
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
    "Created: / 17-09-2011 / 10:32:18 / cg"
1047
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   356
!
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
test21_localsOfInlinedBlock_bug
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   359
    "checks for an stc compiler bug (detected Sep 2011).
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   360
     stc generates bad code for the bitOr expression in nextLittleEndianNumber"
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   361
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   362
    |blk mthd|
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   363
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   364
    Class withoutUpdatingChangesDo:[
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   365
        self class recompile:#'inlinedBlockVariables2'.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   366
        blk := self inlinedBlockVariables2.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   367
        self assert:((blk value:#argbbb_1) == 3).
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   368
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   369
        mthd := self class compiledMethodAt:#'inlinedBlockVariables2'.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   370
        (STCCompilerInterface new)
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   371
            compileToMachineCode:mthd source
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   372
            forClass:self class
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   373
            selector:#'inlinedBlockVariables2'
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   374
            inCategory:mthd category
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   375
            notifying:nil
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   376
            install:true
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   377
            skipIfSame:false
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   378
            silent:true.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   379
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   380
        self 
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   381
            assert:mthd ~= (self class compiledMethodAt:#'inlinedBlockVariables2')
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   382
            description:'Could not compile with STC'.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   383
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   384
        blk := self inlinedBlockVariables2.
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   385
        self assert:((blk value:#argbbb_1) == 3).
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   386
    ].
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
     self run:#test21_localsOfInlinedBlock_bug
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   390
     self new test21_localsOfInlinedBlock_bug
c602a3472c37 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   391
    "
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
    "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
   394
!
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
test_LongIntegeraArray_01
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   397
    | sizes |
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   398
    [
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   399
       Class withoutUpdatingChangesDo:[
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   400
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   401
           "/ Now, compile the same source using stc and check...
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   402
           (STCCompilerInterface new)
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   403
               compileToMachineCode:'longIntegerArray_size
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   404
                    | arr size1 size2 |
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   405
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   406
                    arr := LongIntegerArray new: 8.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   407
                    size1 := arr size.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   408
%{
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   409
                    size2 = __MKINT(__longIntegerArraySize(arr));
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   410
%}.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   411
                    ^ Array with: size1 with: size2.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   412
   '
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   413
               forClass:self class class
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   414
               selector:#'longIntegerArray_size'
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   415
               inCategory:'tests'
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   416
               notifying:nil
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   417
               install:true
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   418
               skipIfSame:false
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   419
               silent:true.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   420
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   421
           sizes := self class perform: #'longIntegerArray_size'.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   422
           self assert:(sizes first == 8).
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   423
           self assert:(sizes second == 8).
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   424
           self class class removeSelector:#longIntegerArray_size.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   425
       ].
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   426
    ] ensure:[
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   427
        self class class removeSelector:#longIntegerArray_size.
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
    "
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   431
     self run:#test02_compilation
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   432
     self new test02_compilation
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
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   435
    "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
   436
!
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   437
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   438
test_LongIntegeraArray_02
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   439
    | sizes |
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   440
    [
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   441
       Class withoutUpdatingChangesDo:[
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   442
           (STCCompilerInterface new)
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   443
               compileToMachineCode:'longIntegerArray_i_element
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   444
                    | arr v1 v8 |
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   445
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   446
                    arr := LongIntegerArray new: 8.
1151
8fafc9a108b9 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1150
diff changeset
   447
                    arr at: 1 put: 11123456789.
8fafc9a108b9 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1150
diff changeset
   448
                    arr at: 8 put: 11123456789.
8fafc9a108b9 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1150
diff changeset
   449
                    self assert: (arr at: 1) = 11123456789.
8fafc9a108b9 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1150
diff changeset
   450
                    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
   451
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
                    __uint64__ val;
1152
c9762558857f class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1151
diff changeset
   454
                    console_printf("arr: arr = 0x%x\n", (INT)arr);
1150
8a9b863af504 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1102
diff changeset
   455
                    val.lo = 1; val.hi = 1;
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   456
                    val =  __LongIntegerArrayInstPtr(arr)->i_element[0];
1150
8a9b863af504 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1102
diff changeset
   457
                    console_printf("v1: val.lo = %d, val.hi = %d\n", val.lo, val.hi);
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   458
                    v1 = __MKUINT64(&val);
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   459
                    val =  __LongIntegerArrayInstPtr(arr)->i_element[7];
1150
8a9b863af504 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1102
diff changeset
   460
                    console_printf("v2: val.lo = %d, val.hi = %d\n", val.lo, val.hi); 
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   461
                    v8 = __MKUINT64(&val);
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   462
%}.
1150
8a9b863af504 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1102
diff changeset
   463
                    v1 errorPrintCR.
8a9b863af504 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1102
diff changeset
   464
                    v8 errorPrintCR.
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   465
                    ^ Array with: v1 with: v8.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   466
   '
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   467
               forClass:self class class
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   468
               selector:#'longIntegerArray_i_element'
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   469
               inCategory:'tests'
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   470
               notifying:nil
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   471
               install:true
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   472
               skipIfSame:false
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   473
               silent:true.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   474
1150
8a9b863af504 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1102
diff changeset
   475
           1 to: 100 do:[:i|
8a9b863af504 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1102
diff changeset
   476
               ( 'Pass ', i printString ) errorPrintCR.
8a9b863af504 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1102
diff changeset
   477
               sizes := self class perform: #'longIntegerArray_i_element'.
1151
8fafc9a108b9 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1150
diff changeset
   478
               self assert:(sizes first = 11123456789).
8fafc9a108b9 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1150
diff changeset
   479
               self assert:(sizes second = 11123456789).
1150
8a9b863af504 class: RegressionTests::STCCompilerTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1102
diff changeset
   480
           ].
1102
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   481
           self class class removeSelector:#'longIntegerArray_i_element'.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   482
       ].
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   483
    ] ensure:[
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   484
        self class class removeSelector:#longIntegerArray_i_element.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   485
    ]
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   486
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   487
    "
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   488
     self run:#test02_compilation
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   489
     self new test02_compilation
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
    "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
   493
    "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
   494
!
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   495
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   496
test_SignedLongIntegeraArray_01
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   497
    | sizes |
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   498
    [
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   499
       Class withoutUpdatingChangesDo:[
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   500
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   501
           "/ Now, compile the same source using stc and check...
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   502
           (STCCompilerInterface new)
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   503
               compileToMachineCode:'signedLongIntegerArray_size
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   504
                    | arr size1 size2 |
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   505
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   506
                    arr := SignedLongIntegerArray new: 8.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   507
                    size1 := arr size.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   508
%{
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   509
                    size2 = __MKINT(__signedLongIntegerArraySize(arr));
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   510
%}.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   511
                    ^ Array with: size1 with: size2.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   512
   '
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   513
               forClass:self class class
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   514
               selector:#'signedLongIntegerArray_size'
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   515
               inCategory:'tests'
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   516
               notifying:nil
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   517
               install:true
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   518
               skipIfSame:false
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   519
               silent:true.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   520
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   521
           sizes := self class perform: #'signedLongIntegerArray_size'.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   522
           self assert:(sizes first == 8).
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   523
           self assert:(sizes second == 8).
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   524
           self class class removeSelector:#signedLongIntegerArray_size.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   525
       ].
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   526
    ] ensure:[
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   527
        self class class removeSelector:#signedLongIntegerArray_size.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   528
    ]
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   529
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   530
    "
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   531
     self run:#test02_compilation
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   532
     self new test02_compilation
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   533
    "
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   534
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   535
    "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
   536
!
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   537
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   538
test_SignedLongIntegeraArray_02
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   539
    | sizes |
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   540
    [
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   541
       Class withoutUpdatingChangesDo:[
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   542
           (STCCompilerInterface new)
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   543
               compileToMachineCode:'signedLongIntegerArray_i_element
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   544
                    | arr v1 v8 |
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   545
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   546
                    arr := SignedLongIntegerArray new: 8.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   547
                    arr at: 1 put: 1123456789.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   548
                    arr at: 8 put: 1123456789.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   549
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   550
%{
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   551
                    __int64__ val;
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   552
                    val =  __SignedLongIntegerArrayInstPtr(arr)->i_element[0];
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   553
                    v1 = __MKINT64(&val);
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   554
                    val =  __SignedLongIntegerArrayInstPtr(arr)->i_element[7];
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   555
                    v8 = __MKINT64(&val);
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   556
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   557
%}.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   558
                    ^ Array with: v1 with: v8.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   559
   '
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   560
               forClass:self class class
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   561
               selector:#'signedLongIntegerArray_i_element'
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   562
               inCategory:'tests'
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   563
               notifying:nil
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   564
               install:true
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   565
               skipIfSame:false
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   566
               silent:true.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   567
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   568
           sizes := self class perform: #'signedLongIntegerArray_i_element'.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   569
           self assert:(sizes first = 1123456789).
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   570
           self assert:(sizes second = 1123456789).
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   571
           self class class removeSelector:#'signedLongIntegerArray_i_element'.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   572
       ].
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   573
    ] ensure:[
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   574
        self class class removeSelector:#signedLongIntegerArray_i_element.
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   575
    ]
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   576
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   577
    "
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   578
     self run:#test02_compilation
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   579
     self new test02_compilation
0b428b9f023f Added some tests for (Signed)LongIntegerArray.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1048
diff changeset
   580
    "
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
    "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
   583
! !
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
!STCCompilerTests class methodsFor:'documentation'!
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
version
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
    ^ '$Header$'
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
!
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
version_CVS
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
    ^ '$Header$'
58506b6e5ede initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
! !
809
63b232026107 class: RegressionTests::STCCompilerTests
Claus Gittinger <cg@exept.de>
parents: 667
diff changeset
   594