Download tests/test-core.lisp from Snapkitty/nekomata: direct link, hf CLI and curl.
- Browser
- Download file 1.63 kB
-
https://huggingface.co/Snapkitty/nekomata/resolve/main/tests/test-core.lisp
- Command line
-
hf download hf://Snapkitty/nekomata/tests/test-core.lisp
-
curl -L -o test-core.lisp https://huggingface.co/Snapkitty/nekomata/resolve/main/tests/test-core.lisp
1.63 kB
| (defpackage #:nekod.tests | |
| (:use #:cl #:nekod)) | |
| (in-package #:nekod.tests) | |
| (defun run-tests () | |
| (let ((passed 0) (failed 0)) | |
| (flet ((check (name result expected) | |
| (if (equal result expected) | |
| (progn (incf passed) (format t " PASS ~a~%" name)) | |
| (progn (incf failed) (format t " FAIL ~a: got ~s expected ~s~%" name result expected))))) | |
| ;; Test 1: container-spec creation | |
| (let ((spec (make-container-spec :name "test" :image "alpine:latest" | |
| :ports '((8080 . 80)) :env '((:MODE . "test"))))) | |
| (check "container-spec name" (container-spec-name spec) "test") | |
| (check "container-spec image" (container-spec-image spec) "alpine:latest")) | |
| ;; Test 2: nekod-eval on a spec | |
| (let ((spec (make-container-spec :name "eval-test" :image "nginx:latest"))) | |
| (check "nekod-eval returns spec" (eq (nekod-eval spec) spec) t)) | |
| ;; Test 3: save/restore snapshot | |
| (let* ((spec (make-container-spec :name "snap-test" :image "redis:latest")) | |
| (snap (save-nekod-image "/tmp/nekod-test.snap" (list spec)))) | |
| (check "snapshot version" (nekod-snapshot-version snap) "0.1.0") | |
| (check "snapshot has containers" (length (nekod-snapshot-containers snap)) 1)) | |
| ;; Test 4: HTTP request building | |
| (let ((req (nekod.docker:build-http-request "GET" "/containers/json"))) | |
| (check "GET request contains method" (search "GET" req) 0)) | |
| (format t "~%Results: ~a passed, ~a failed~%" passed failed) | |
| (= failed 0)))) | |
| (run-tests) | |