changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/lib/skel/tests.lisp

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
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
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
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
4
   (:import-from :uiop :file-exists-p))
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
5
 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
6
 (in-package :skel/tests)
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
7
 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
8
 (defsuite :skel)
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
9
 (in-suite :skel)
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
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
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
12
 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
13
 (deftest header-comments ()
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
14
   "Make sure header comments are generated correctly. 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
15
 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
16
 This covers variations of make-source-header-comment, make-source-file-header,
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
17
 make-shebang-comment, and make-shebang-file-header."
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
18
   (is (eq (type-of (make-shebang-file-header 
384
8fe057887c17 skel refactor1
Richard Westhaver <ellis@rwest.io>
parents: 206
diff changeset
19
 		    (make-shebang-comment "/dev/null")))
42
ellis <ellis@rwest.io>
parents: 18
diff changeset
20
 	  'file-header))
18
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
21
   (is (eq (type-of (make-source-file-header 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
22
 		    (make-source-header-comment 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
23
 		     "foo-test"
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
24
 		     :timestamp t
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
25
 		     :description "nothing to see here"
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
26
 		     :opts '("Definitely-Not_Emacs: T;"))))
42
ellis <ellis@rwest.io>
parents: 18
diff changeset
27
 	  'file-header)))
18
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
28
 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
29
 (deftest skelfile ()
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
30
   "Ensure skelfiles are created and loaded correctly and that they signal
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
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
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
37
 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
38
 (deftest skelrc ()
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
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
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
41
 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
42
 (deftest makefile ()
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
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
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
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
e2d577f31866 viz updates
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
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
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
53
 	(is (null (sk-write-file (mk) :if-exists :supersede :path (tmp-path "mk"))))
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
54
 	(let* ((tr1 (tmp-path "t1"))
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
55
 	       (tr2 (tmp-path "t2"))
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
56
 	       (sr (src (tmp-path "s1")))
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
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
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
59
 	       (mk1 (mk "test.mk")))
384
8fe057887c17 skel refactor1
Richard Westhaver <ellis@rwest.io>
parents: 206
diff changeset
60
 	  (is (push-mk-rule r1 mk1))
8fe057887c17 skel refactor1
Richard Westhaver <ellis@rwest.io>
parents: 206
diff changeset
61
 	  (is (push-mk-rule r2 mk1))
8fe057887c17 skel refactor1
Richard Westhaver <ellis@rwest.io>
parents: 206
diff changeset
62
 	  (is (push-mk-directive 
18
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
63
 	       (cmd "ifeq ($(DEBUG),1) echo foo 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
64
 endif")
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
65
 	       mk1))
384
8fe057887c17 skel refactor1
Richard Westhaver <ellis@rwest.io>
parents: 206
diff changeset
66
 	  (is (push-mk-var '(a b) mk1))
8fe057887c17 skel refactor1
Richard Westhaver <ellis@rwest.io>
parents: 206
diff changeset
67
 	  (is (push-mk-var '(b c) mk1))
18
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
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
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
72
 
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
73
 (deftest vm ()
61482ce290f9 migration complete
ellis <ellis@rwest.io>
parents:
diff changeset
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
e2d577f31866 viz updates
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
81
   (let ((sk (make-instance 'sk-project :components '((:lisp "test")
e2d577f31866 viz updates
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
82
                                                      (:lisp-system "test")))))
e2d577f31866 viz updates
Richard Westhaver <ellis@rwest.io>
parents: 469
diff changeset
83
     (is sk)))