1
2
3
4
5
6
7
8
9
10
11
12
13
14 package procfs
15
16 import (
17 "testing"
18
19 "github.com/google/go-cmp/cmp"
20 )
21
22 func TestFS_Crypto(t *testing.T) {
23 fs := getProcFixtures(t)
24 crypto, err := fs.Crypto()
25
26 if err != nil {
27 t.Fatalf("parsing of reference-file failed entirely: %s", err)
28 }
29
30 refs := []Crypto{
31 {
32 Name: "ccm(aes)",
33 Driver: "ccm_base(ctr(aes-aesni),cbcmac(aes-aesni))",
34 Module: "ccm",
35 Priority: newint64(300),
36 Refcnt: newint64(4),
37 Selftest: "passed",
38 Internal: "no",
39 Type: "aead",
40 Async: false,
41 Blocksize: newuint64(1),
42 Ivsize: newuint64(16),
43 Maxauthsize: newuint64(16),
44 Geniv: "<none>",
45 },
46 {
47 Name: "cbcmac(aes)",
48 Driver: "cbcmac(aes-aesni)",
49 Module: "ccm",
50 Priority: newint64(300),
51 Refcnt: newint64(7),
52 Selftest: "passed",
53 Internal: "no",
54 Type: "shash",
55 Blocksize: newuint64(1),
56 Digestsize: newuint64(16),
57 },
58 {
59 Name: "ecdh",
60 Driver: "ecdh-generic",
61 Module: "ecdh_generic",
62 Priority: newint64(100),
63 Refcnt: newint64(1),
64 Selftest: "passed",
65 Internal: "no",
66 Type: "kpp",
67 Async: true,
68 },
69 {
70 Name: "ecb(arc4)",
71 Driver: "ecb(arc4)-generic",
72 Module: "arc4",
73 Priority: newint64(100),
74 Refcnt: newint64(1),
75 Selftest: "passed",
76 Internal: "no",
77 Type: "skcipher",
78 Async: false,
79 Blocksize: newuint64(1),
80 MinKeysize: newuint64(1),
81 MaxKeysize: newuint64(256),
82 Ivsize: newuint64(0),
83 Chunksize: newuint64(1),
84 Walksize: newuint64(1),
85 },
86 {
87 Name: "arc4",
88 Driver: "arc4-generic",
89 Module: "arc4",
90 Priority: newint64(0),
91 Refcnt: newint64(3),
92 Selftest: "passed",
93 Internal: "no",
94 Type: "cipher",
95 Blocksize: newuint64(1),
96 MinKeysize: newuint64(1),
97 MaxKeysize: newuint64(256),
98 },
99 {
100 Name: "crct10dif",
101 Driver: "crct10dif-pclmul",
102 Module: "crct10dif_pclmul",
103 Priority: newint64(200),
104 Refcnt: newint64(2),
105 Selftest: "passed",
106 Internal: "no",
107 Type: "shash",
108 Blocksize: newuint64(1),
109 Digestsize: newuint64(2),
110 },
111 }
112
113 if want, have := len(refs), len(crypto); want > have {
114 t.Errorf("want at least %d parsed crypto-entries, have %d", want, have)
115 }
116 for index, ref := range refs {
117 want, got := ref, crypto[index]
118 if diff := cmp.Diff(want, got); diff != "" {
119 t.Fatalf("unexpected crypto entry (-want +got):\n%s", diff)
120 }
121 }
122 }
123
124 func newint64(i int64) *int64 {
125 return &i
126 }
127
128 func newuint64(i uint64) *uint64 {
129 return &i
130 }
131
View as plain text