Mercurial > core / lisp/rocksdb/tests.lisp
changeset 0: |
35b3dcda7839 |
child: |
4f38a5cb8b09 |
author: |
ellis <ellis@rwest.io> |
date: |
Thu, 12 Oct 2023 22:36:34 -0400 |
permissions: |
-rw-r--r-- |
description: |
comp/core init |
1 ;;; rocksdb/tests.lisp --- RocksDB tests 4 (defpackage :rocksdb.tests 5 (:use :cl :rt :rocksdb :rdb :sb-alien :alien :sb-ext) 6 (:export :rocksdb-test-dir)) 8 (in-package :rocksdb.tests) 10 (defun rocksdb-test-dir () 11 (format nil "/tmp/~A/" (gensym "rocksdb-tests-"))) 14 (let ((opts (rocksdb-options-create))) 15 (rocksdb-options-set-create-if-missing opts t) 25 (let ((opts (rocksdb-options-create)) 26 (wopts (rocksdb-writeoptions-create)) 27 (ropts (rocksdb-readoptions-create)) 28 (bopts (rocksdb-block-based-options-create))) 29 (rocksdb-options-set-create-if-missing opts t) 30 (rocksdb-options-destroy opts) 31 (rocksdb-writeoptions-destroy wopts) 32 (rocksdb-readoptions-destroy ropts) 33 (rocksdb-block-based-options-destroy bopts))) 36 (let* ((opts (test-opts)) 37 (path (rocksdb-test-dir)) 38 (db (rocksdb-open opts path nil))) 41 (wopts (rocksdb-writeoptions-create)) 42 (ropts (rocksdb-readoptions-create))) 43 (with-alien ((key (* char) (make-alien-string k)) 44 (val (* char) (make-alien-string v :external-format :ascii :null-terminate t)) 45 (errptr rocksdb-errptr nil) 46 (vlen (* size-t) (make-alien size-t 1)) 55 (is (string= v (rocksdb-get db ropts key (length k) vlen errptr))) 57 (rocksdb-delete db wopts key (length k) errptr) 58 (rocksdb-writeoptions-destroy wopts) 59 (rocksdb-readoptions-destroy ropts))) 61 (rocksdb-options-destroy opts) 62 (sb-ext:delete-directory path :recursive t)))