-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest.lisp
127 lines (111 loc) · 2.96 KB
/
test.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
;;; Mon Jan 21 15:43:39 1991 by Mark Kantrowitz <mkant@GLINDA.OZ.CS.CMU.EDU>
;;; xref-test.lisp
;;; ****************************************************************
;;; Test Source File for XREF **************************************
;;; ****************************************************************
;;;
;;; This file contains source code to be used to test XREF.
;;;
;;; Evaluating the following commented out code should produce the
;;; listed output.
;;;
(cl:in-package :ai.lang.lisp.code.tools.xref.internal)
(def-suite ai.lang.lisp.code.tools.xref)
(in-suite ai.lang.lisp.code.tools.xref)
(test xref-test
(is-true (null
(not
(search "6 forms processed."
(with-output-to-string (*standard-output*)
(ai.lang.lisp.code.tools.xref:xref-file
(asdf:system-relative-pathname
:ai.lang.lisp.code.tools.xref
"test-source.lisp")))))))
(is (string= (with-output-to-string (*standard-output*)
(ai.lang.lisp.code.tools.xref:print-caller-trees))
"Rooted calling trees:
TOP-LEVEL
FROB
FROB-ITEM
APPEND-FROBS
BARF
FROWZ
PROCESS-KEYS
SNARF-ITEM
PROCESS-KEY
SYMBOL-NAME-KEY
NODE-POSITION
FROWZ
PROCESS-KEYS
SNARF-ITEM
PROCESS-KEY
SYMBOL-NAME-KEY
NODE-POSITION"))
(is (string= (with-output-to-string (*standard-output*)
(ai.lang.lisp.code.tools.xref:print-caller-trees :compact t))
"Rooted calling trees:
TOP-LEVEL
FROB
FROB-ITEM
APPEND-FROBS
BARF
FROWZ
FROWZ
PROCESS-KEYS
SNARF-ITEM
PROCESS-KEY
SYMBOL-NAME-KEY
NODE-POSITION"))
(is (equal (multiple-value-list (ai.lang.lisp.code.tools.xref:list-callers 'frowz))
'((BARF TOP-LEVEL) t)))
(is (equal (multiple-value-list (ai.lang.lisp.code.tools.xref:list-users 'items))
'(NIL NIL (FROWZ BARF FROB)))))
#|
<cl> (xref:xref-file "xref-test.lisp")
Cross-referencing file XRef/xref-test.lisp.
......
6 forms processed.
<cl> (xref:print-caller-trees)
Rooted calling trees:
TOP-LEVEL
FROB
FROB-ITEM
APPEND-FROBS
BARF
FROWZ
PROCESS-KEYS
SNARF-ITEM
PROCESS-KEY
SYMBOL-NAME-KEY
NODE-POSITION
FROWZ
PROCESS-KEYS
SNARF-ITEM
PROCESS-KEY
SYMBOL-NAME-KEY
NODE-POSITION
NIL
<cl> (xref:print-caller-trees :compact t)
Rooted calling trees:
TOP-LEVEL
FROB
FROB-ITEM
APPEND-FROBS
BARF
FROWZ
FROWZ
PROCESS-KEYS
SNARF-ITEM
PROCESS-KEY
SYMBOL-NAME-KEY
NODE-POSITION
NIL
<cl> (xref:list-callers 'frowz)
(BARF TOP-LEVEL)
T
<cl> (xref:list-users 'items)
NIL
NIL
(FROWZ BARF FROB)
|#
;;; *EOF*