Coverage report: /home/ellis/comp/core/ffi/blake3/tests.lisp

KindCoveredAll%
expression010 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; k/tests.lisp --- k tests
2
 
3
 ;;; Code:
4
 (defpackage :blake3/tests
5
   (:use :cl :std :rt :blake3 :sb-ext :sb-alien))
6
 
7
 (in-package :blake3/tests)
8
 
9
 (defsuite :blake3)
10
 (in-suite :blake3)
11
 
12
 (load-blake3)
13
 
14
 (deftest version ()
15
   (is (stringp (blake3-version))))
16
 
17
 (define-constant +hash-nada+ 
18
   #.#(172 111 134 255 246 48 165 106 33 245 157 58
19
       12 28 105 7 254 63 124 175 213 250 145 111
20
       155 114 32 50 246 5 158 217 216 222 167 143
21
       206 61 15 99 72 99 208 90 38 246 101 122 222
22
       5 96 234 65 174 214 3 217 107 178 217 200 23
23
       252 67 150 128 229 143 112 46 57 25 59 172
24
       84 134 98 192 184 163 104 149 37 37 222 119
25
       219 107 68 245 186 136 225 140 151 142 145
26
       77 74 95)
27
   :test 'equalp)
28
 
29
 (deftest common ()
30
   (let ((a (make-octets 100)))
31
     (with-blake3-hasher h
32
       (with-alien ((o (array (unsigned 8) 100))
33
                    (len size-t 100)
34
                    (dat (array unsigned-char 100)))
35
         ;; (blake3-hasher-init (addr h))
36
         (blake3-hasher-update (addr h) (cast dat (* unsigned-char)) len)
37
         (blake3-hasher-finalize (addr h) (cast o (* unsigned-char)) len)
38
         (blake3-hasher-reset (addr h))
39
         (isequalp +hash-nada+ (clone-octets-from-alien o a))))))
40
 
41
 (deftest less-common ()
42
   (with-alien ((h blake3-hasher)
43
                (k (array unsigned-char 32))
44
                (ctx (array char 32))
45
                (out (array unsigned-char 32)))
46
     (blake3-hasher-init-keyed (addr h) k)
47
     (blake3-hasher-init-derive-key-raw (addr h) (cast ctx (* t)) 32)
48
     (blake3-hasher-finalize-seek (addr h) 2 (cast out (* unsigned-char)) 32)
49
     (is (null (blake3-hasher-finalize (addr h) (cast out (* unsigned-char)) 32)))))