changeset 663: | cc89b337384b |
parent: | bbd9024f2fe2 |
author: | Richard Westhaver <ellis@rwest.io> |
date: | Sat, 21 Sep 2024 22:58:22 -0400 |
permissions: | -rw-r--r-- |
description: | skel upgrades, added skel/net |
206
a0f64fed8f2a
refactor nu ci, skel and homer updates
Richard Westhaver <ellis@rwest.io>
parents:
117
diff
changeset
|
1 | ;;; skel/tests.lisp --- skel tests |
18 | 2 | (defpackage :skel/tests |
632
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
630
diff
changeset
|
3 | (:use :cl :skel :rt :log :obj :dat/sxp :std/path) |
18 | 4 | (:import-from :uiop :file-exists-p)) |
5 | ||
6 | (in-package :skel/tests) |
|
7 | ||
8 | (defsuite :skel) |
|
9 | (in-suite :skel) |
|
10 | ||
632
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
630
diff
changeset
|
11 | (defun tmp-path (ext) (make-pathname :name (namestring (tmpize-pathname (string (gensym "g")))) :type ext)) |
18 | 12 | |
13 | (deftest header-comments () |
|
14 | "Make sure header comments are generated correctly. |
|
15 | ||
16 | This covers variations of make-source-header-comment, make-source-file-header, |
|
17 | make-shebang-comment, and make-shebang-file-header." |
|
18 | (is (eq (type-of (make-shebang-file-header |
|
384 | 19 | (make-shebang-comment "/dev/null"))) |
42 | 20 | 'file-header)) |
18 | 21 | (is (eq (type-of (make-source-file-header |
22 | (make-source-header-comment |
|
23 | "foo-test" |
|
24 | :timestamp t |
|
25 | :description "nothing to see here" |
|
26 | :opts '("Definitely-Not_Emacs: T;")))) |
|
42 | 27 | 'file-header))) |
18 | 28 | |
29 | (deftest skelfile () |
|
30 | "Ensure skelfiles are created and loaded correctly and that they signal |
|
31 | the appropriate restarts." |
|
632
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
630
diff
changeset
|
32 | (with-tmp-file (f :type "sk") |
594
5bd0eb9fa1fa
rocksdb callbacks, missing symbol fixes
Richard Westhaver <ellis@rwest.io>
parents:
508
diff
changeset
|
33 | (is (sk-write-file |
632
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
630
diff
changeset
|
34 | (make-instance 'sk-project :name "nada" :path "test" :vc :hg) :path *tmp* :if-exists :supersede)) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
630
diff
changeset
|
35 | (is (load-skelfile *tmp*)) |
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
630
diff
changeset
|
36 | (is (build-ast (sk-read-file (make-instance 'sk-project) *tmp*))))) |
18 | 37 | |
38 | (deftest skelrc () |
|
39 | "Ensure skelrc files are created and loaded correctly." |
|
632
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
630
diff
changeset
|
40 | (with-tmp-file (f :name "" :type "skelrc"))) |
18 | 41 | |
42 | (deftest makefile () |
|
43 | "Make sure makefiles are making out ok." |
|
632
bbd9024f2fe2
lib/rt upgrades and refactoring
Richard Westhaver <ellis@rwest.io>
parents:
630
diff
changeset
|
44 | (with-tmp-file (f :name "" :type "mk") |
18 | 45 | (flet ((mk (&optional path) (make-instance 'makefile :name (gensym) |
663
cc89b337384b
skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents:
632
diff
changeset
|
46 | :path (or |
cc89b337384b
skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents:
632
diff
changeset
|
47 | (when path (merge-pathnames path *tmp*)) |
cc89b337384b
skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents:
632
diff
changeset
|
48 | *tmp*) |
cc89b337384b
skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents:
632
diff
changeset
|
49 | :description "barfood")) |
508 | 50 | (src (path) (list path)) |
663
cc89b337384b
skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents:
632
diff
changeset
|
51 | (cmd (&rest body) body) |
cc89b337384b
skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents:
632
diff
changeset
|
52 | (rule (tr sr) (make-sk-rule (file-namestring tr) sr))) |
18 | 53 | (is (null (sk-write-file (mk) :if-exists :supersede :path (tmp-path "mk")))) |
54 | (let* ((tr1 (tmp-path "t1")) |
|
55 | (tr2 (tmp-path "t2")) |
|
56 | (sr (src (tmp-path "s1"))) |
|
57 | (r1 (rule tr1 sr)) |
|
663
cc89b337384b
skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents:
632
diff
changeset
|
58 | (r2 (rule (car sr) (src tr2))) |
18 | 59 | (mk1 (mk "test.mk"))) |
384 | 60 | (is (push-mk-rule r1 mk1)) |
61 | (is (push-mk-rule r2 mk1)) |
|
62 | (is (push-mk-directive |
|
18 | 63 | (cmd "ifeq ($(DEBUG),1) echo foo |
64 | endif") |
|
65 | mk1)) |
|
384 | 66 | (is (push-mk-var '(a b) mk1)) |
67 | (is (push-mk-var '(b c) mk1)) |
|
18 | 68 | ;; FIXME |
663
cc89b337384b
skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents:
632
diff
changeset
|
69 | (is |
cc89b337384b
skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents:
632
diff
changeset
|
70 | (null |
cc89b337384b
skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents:
632
diff
changeset
|
71 | (sk-write-file mk1 :if-exists :supersede :path (merge-pathnames (tmp-path "mk") *tmp*)))))))) |
18 | 72 | |
73 | (deftest vm () |
|
74 | "EXPERIMENTAL" |
|
630
f4a464cc1628
skel/vm work, added json benchmark
Richard Westhaver <ellis@rwest.io>
parents:
594
diff
changeset
|
75 | (with-skel-vm (vm) |
f4a464cc1628
skel/vm work, added json benchmark
Richard Westhaver <ellis@rwest.io>
parents:
594
diff
changeset
|
76 | (is (sb-lockless::split-ordered-list-p *skel-scope*)) |
f4a464cc1628
skel/vm work, added json benchmark
Richard Westhaver <ellis@rwest.io>
parents:
594
diff
changeset
|
77 | (is (sb-vm:arena-p *skel-arena*)) |
f4a464cc1628
skel/vm work, added json benchmark
Richard Westhaver <ellis@rwest.io>
parents:
594
diff
changeset
|
78 | (is (skel-vm-p vm)))) |
469
7354623e5b54
define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents:
468
diff
changeset
|
79 | |
7354623e5b54
define-alien-enum, zstd, skel, and pod work
Richard Westhaver <ellis@rwest.io>
parents:
468
diff
changeset
|
80 | (deftest asd () |
508 | 81 | (let ((sk (make-instance 'sk-project :components '((:lisp "test") |
82 | (:lisp-system "test"))))) |
|
83 | (is sk))) |