Mercurial > core / lisp/ffi/uring/tests.lisp
changeset 687: |
c2f4e7ee921b |
parent: |
b9cd591b9c10
|
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Mon, 30 Sep 2024 22:27:12 -0400 |
permissions: |
-rw-r--r-- |
description: |
ffi |
1 (defpackage :uring/tests 2 (:use :cl :rt :std :uring :sb-alien) 3 (:import-from :obj/build :build :build-from)) 4 (in-package :uring/tests) 10 (is (= 1 (io-uring-check-version (io-uring-major-version) (io-uring-minor-version))))) 20 (let ((op (uring::build-from (uring::make-io-op-nop) (alien-sap sqe)))) 21 (is (typep op '(alien uring::io-uring-sqe))) 22 (is (= (slot op 'uring::fd) -1))))) 24 (deftest simple-vectored () 27 (let ((rop (uring::build-from (uring::make-io-op-readv) (alien-sap rop))) 28 (wop (uring::build-from (uring::make-io-op-writev) (alien-sap wop)))) 29 (is (typep rop '(alien uring::io-uring-sqe))) 30 (is (typep wop '(alien uring::io-uring-sqe))))))) 34 (io-uring-queue-init 8 (alien-sap r1) 0) 35 (is (typep r1 '(alien io-uring))) 36 (log::trace! (slot (slot r1 'uring::sq) 'uring::ring-entries)) 37 (with-io-uring (r2 (addr r1)) 38 (io-uring-queue-init-params 16 (alien-sap r2) (uring::allocate-io-uring-params)) 39 (is (typep r2 '(alien (* io-uring)))) 40 (is (= 0 (io-uring-queue-exit (alien-sap r2))))))) 44 (io-uring-queue-init 16 (alien-sap r1) 0) 45 (let ((sqe (io-uring-get-sqe r1))) 46 (is (typep sqe '(alien (* io-uring-sqe)))) 47 (is (= 0 (io-uring-submit (alien-sap r1)))) 48 (uring::build-from (make-io-op-nop) (alien-sap (deref sqe))) 49 (is (= 0 (io-uring-queue-exit (alien-sap r1))))))) 52 (is (io-restriction-p (make-io-restriction))))