1
2
3
4
5 package ir
6
7 import (
8 "reflect"
9 "testing"
10 "unsafe"
11 )
12
13
14
15 func TestSizeof(t *testing.T) {
16 const _64bit = unsafe.Sizeof(uintptr(0)) == 8
17
18 var tests = []struct {
19 val interface{}
20 _32bit uintptr
21 _64bit uintptr
22 }{
23 {Func{}, 184, 312},
24 {Name{}, 96, 160},
25 {miniExpr{}, 32, 48},
26 {miniNode{}, 12, 12},
27 }
28
29 for _, tt := range tests {
30 want := tt._32bit
31 if _64bit {
32 want = tt._64bit
33 }
34 got := reflect.TypeOf(tt.val).Size()
35 if want != got {
36 t.Errorf("unsafe.Sizeof(%T) = %d, want %d", tt.val, got, want)
37 }
38 }
39 }
40
View as plain text