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

KindCoveredAll%
expression013 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; uring/tests.lisp --- URING Alien Tests
2
 (defpackage :uring/tests 
3
   (:use :cl :rt :std :uring :sb-alien)
4
   (:import-from :obj/build :build :build-from))
5
 
6
 (in-package :uring/tests)
7
 
8
 (defsuite :uring)
9
 (in-suite :uring)
10
 
11
 (load-uring)
12
 
13
 (deftest sanity ()
14
   (is (= 1 (io-uring-check-version (io-uring-major-version) (io-uring-minor-version)))))
15
 
16
 (deftest params ())
17
 
18
 (deftest setup ()
19
   ;; (io-uring-setup
20
   )
21
 
22
 (deftest nop-sqe ()
23
   (with-new-io-sqe sqe
24
     (let ((op (uring::build-from (uring::make-io-op-nop) (alien-sap sqe))))
25
       (is (typep op '(alien uring::io-uring-sqe)))
26
       (is (= (slot op 'uring::fd) -1)))))
27
 
28
 (deftest simple-vectored ()
29
   (with-new-io-sqe rop
30
     (with-new-io-sqe wop
31
       (let ((rop (uring::build-from (uring::make-io-op-readv) (alien-sap rop)))
32
             (wop (uring::build-from (uring::make-io-op-writev) (alien-sap wop))))
33
         (istype '(alien uring::io-uring-sqe) rop)
34
         (istype '(alien uring::io-uring-sqe) wop)))))
35
 
36
 (deftest init1 ()
37
   (with-new-io-uring r1
38
     (io-uring-queue-init 8 (alien-sap r1) 0)
39
     (is (typep r1 '(alien io-uring)))
40
     (log::trace! (slot (slot r1 'uring::sq) 'uring::ring-entries))
41
     (with-io-uring (r2 (addr r1))
42
       (io-uring-queue-init-params 16 (alien-sap r2) (uring::allocate-io-uring-params))
43
       (is (typep r2 '(alien (* io-uring))))
44
       (is (= 0 (io-uring-queue-exit (alien-sap r2)))))))
45
 
46
 (deftest submit ()
47
   (with-new-io-uring r1
48
     (io-uring-queue-init 16 (alien-sap r1) 0)
49
     (let ((sqe (io-uring-get-sqe r1)))
50
       (is (typep sqe '(alien (* io-uring-sqe))))
51
       (is (= 0 (io-uring-submit (alien-sap r1))))
52
       (uring::build-from (make-io-op-nop) (alien-sap (deref sqe)))
53
       (is (= 0 (io-uring-queue-exit (alien-sap r1)))))))
54
 
55
 (deftest register ()
56
   (is (io-restriction-p (make-io-restriction))))