11 |
;;; unuse-package |
;;; unuse-package |
12 |
|
|
13 |
(deftest unuse-package-1 |
(deftest unuse-package-1 |
14 |
(progn |
(progn |
15 |
(ignore-errors (delete-package "H")) |
(safely-delete-package "H") |
16 |
(ignore-errors (delete-package "G")) |
(safely-delete-package "G") |
17 |
(let* ((pg (make-package "G" :use nil)) |
(let* ((pg (make-package "G" :use nil)) |
18 |
(ph (make-package "H" :use '("G")))) |
(ph (make-package "H" :use '("G")))) |
19 |
(prog1 |
(prog1 |
20 |
(and |
(and |
21 |
(equal (package-use-list ph) (list pg)) |
(equal (package-use-list ph) (list pg)) |
22 |
(equal (package-used-by-list pg) (list ph)) |
(equal (package-used-by-list pg) (list ph)) |
23 |
(unuse-package pg ph) |
(unuse-package pg ph) |
24 |
(equal (package-use-list ph) nil) |
(equal (package-use-list ph) nil) |
25 |
(null (package-used-by-list pg))) |
(null (package-used-by-list pg))) |
26 |
(delete-package "H") |
(safely-delete-package "H") |
27 |
(delete-package "G")))) |
(safely-delete-package "G")))) |
28 |
t) |
t) |
29 |
|
|
30 |
(deftest unuse-package-2 |
(deftest unuse-package-2 |
31 |
(progn |
(progn |
32 |
(ignore-errors (delete-package "H")) |
(safely-delete-package "H") |
33 |
(ignore-errors (delete-package "G")) |
(safely-delete-package "G") |
34 |
(let* ((pg (make-package "G" :use nil)) |
(let* ((pg (make-package "G" :use nil)) |
35 |
(ph (make-package "H" :use '("G")))) |
(ph (make-package "H" :use '("G")))) |
36 |
(prog1 |
(prog1 |
37 |
(and |
(and |
38 |
(equal (package-use-list ph) (list pg)) |
(equal (package-use-list ph) (list pg)) |
39 |
(equal (package-used-by-list pg) (list ph)) |
(equal (package-used-by-list pg) (list ph)) |
40 |
(unuse-package "G" ph) |
(unuse-package "G" ph) |
41 |
(equal (package-use-list ph) nil) |
(equal (package-use-list ph) nil) |
42 |
(null (package-used-by-list pg))) |
(null (package-used-by-list pg))) |
43 |
(delete-package "H") |
(safely-delete-package "H") |
44 |
(delete-package "G")))) |
(safely-delete-package "G")))) |
45 |
t) |
t) |
46 |
|
|
47 |
(deftest unuse-package-3 |
(deftest unuse-package-3 |
48 |
(progn |
(progn |
49 |
(ignore-errors (delete-package "H")) |
(safely-delete-package "H") |
50 |
(ignore-errors (delete-package "G")) |
(safely-delete-package "G") |
51 |
(let* ((pg (make-package "G" :use nil)) |
(let* ((pg (make-package "G" :use nil)) |
52 |
(ph (make-package "H" :use '("G")))) |
(ph (make-package "H" :use '("G")))) |
53 |
(prog1 |
(prog1 |
54 |
(and |
(and |
55 |
(equal (package-use-list ph) (list pg)) |
(equal (package-use-list ph) (list pg)) |
56 |
(equal (package-used-by-list pg) (list ph)) |
(equal (package-used-by-list pg) (list ph)) |
57 |
(unuse-package :|G| ph) |
(unuse-package :|G| ph) |
58 |
(equal (package-use-list ph) nil) |
(equal (package-use-list ph) nil) |
59 |
(null (package-used-by-list pg))) |
(null (package-used-by-list pg))) |
60 |
(delete-package "H") |
(safely-delete-package "H") |
61 |
(delete-package "G")))) |
(safely-delete-package "G")))) |
62 |
t) |
t) |
63 |
|
|
64 |
(deftest unuse-package-4 |
(deftest unuse-package-4 |
65 |
(progn |
(progn |
66 |
(ignore-errors (delete-package "H")) |
(safely-delete-package "H") |
67 |
(ignore-errors (delete-package "G")) |
(safely-delete-package "G") |
68 |
(let* ((pg (make-package "G" :use nil)) |
(let* ((pg (make-package "G" :use nil)) |
69 |
(ph (make-package "H" :use '("G")))) |
(ph (make-package "H" :use '("G")))) |
70 |
(prog1 |
(prog1 |
71 |
(and |
(and |
72 |
(equal (package-use-list ph) (list pg)) |
(equal (package-use-list ph) (list pg)) |
73 |
(equal (package-used-by-list pg) (list ph)) |
(equal (package-used-by-list pg) (list ph)) |
74 |
(ignore-errors (unuse-package #\G ph)) |
(ignore-errors (unuse-package #\G ph)) |
75 |
(equal (package-use-list ph) nil) |
(equal (package-use-list ph) nil) |
76 |
(null (package-used-by-list pg))) |
(null (package-used-by-list pg))) |
77 |
(delete-package "H") |
(safely-delete-package "H") |
78 |
(delete-package "G")))) |
(safely-delete-package "G")))) |
79 |
t) |
t) |
80 |
|
|
81 |
(deftest unuse-package-5 |
(deftest unuse-package-5 |
82 |
(progn |
(progn |
83 |
(ignore-errors (delete-package "H")) |
(safely-delete-package "H") |
84 |
(ignore-errors (delete-package "G")) |
(safely-delete-package "G") |
85 |
(let* ((pg (make-package "G" :use nil)) |
(let* ((pg (make-package "G" :use nil)) |
86 |
(ph (make-package "H" :use '("G")))) |
(ph (make-package "H" :use '("G")))) |
87 |
(prog1 |
(prog1 |
88 |
(and |
(and |
89 |
(equal (package-use-list ph) (list pg)) |
(equal (package-use-list ph) (list pg)) |
90 |
(equal (package-used-by-list pg) (list ph)) |
(equal (package-used-by-list pg) (list ph)) |
91 |
(unuse-package (list pg) ph) |
(unuse-package (list pg) ph) |
92 |
(equal (package-use-list ph) nil) |
(equal (package-use-list ph) nil) |
93 |
(null (package-used-by-list pg))) |
(null (package-used-by-list pg))) |
94 |
(delete-package "H") |
(safely-delete-package "H") |
95 |
(delete-package "G")))) |
(safely-delete-package "G")))) |
96 |
t) |
t) |
97 |
|
|
98 |
(deftest unuse-package-6 |
(deftest unuse-package-6 |
99 |
(progn |
(progn |
100 |
(ignore-errors (delete-package "H")) |
(safely-delete-package "H") |
101 |
(ignore-errors (delete-package "G")) |
(safely-delete-package "G") |
102 |
(let* ((pg (make-package "G" :use nil)) |
(let* ((pg (make-package "G" :use nil)) |
103 |
(ph (make-package "H" :use '("G")))) |
(ph (make-package "H" :use '("G")))) |
104 |
(prog1 |
(prog1 |
105 |
(and |
(and |
106 |
(equal (package-use-list ph) (list pg)) |
(equal (package-use-list ph) (list pg)) |
107 |
(equal (package-used-by-list pg) (list ph)) |
(equal (package-used-by-list pg) (list ph)) |
108 |
(unuse-package (list "G") ph) |
(unuse-package (list "G") ph) |
109 |
(equal (package-use-list ph) nil) |
(equal (package-use-list ph) nil) |
110 |
(null (package-used-by-list pg))) |
(null (package-used-by-list pg))) |
111 |
(delete-package "H") |
(safely-delete-package "H") |
112 |
(delete-package "G")))) |
(safely-delete-package "G")))) |
113 |
t) |
t) |
114 |
|
|
115 |
(deftest unuse-package-7 |
(deftest unuse-package-7 |
116 |
(progn |
(progn |
117 |
(ignore-errors (delete-package "H")) |
(safely-delete-package "H") |
118 |
(ignore-errors (delete-package "G")) |
(safely-delete-package "G") |
119 |
(let* ((pg (make-package "G" :use nil)) |
(let* ((pg (make-package "G" :use nil)) |
120 |
(ph (make-package "H" :use '("G")))) |
(ph (make-package "H" :use '("G")))) |
121 |
(prog1 |
(prog1 |
122 |
(and |
(and |
123 |
(equal (package-use-list ph) (list pg)) |
(equal (package-use-list ph) (list pg)) |
124 |
(equal (package-used-by-list pg) (list ph)) |
(equal (package-used-by-list pg) (list ph)) |
125 |
(unuse-package (list :|G|) ph) |
(unuse-package (list :|G|) ph) |
126 |
(equal (package-use-list ph) nil) |
(equal (package-use-list ph) nil) |
127 |
(null (package-used-by-list pg))) |
(null (package-used-by-list pg))) |
128 |
(delete-package "H") |
(safely-delete-package "H") |
129 |
(delete-package "G")))) |
(safely-delete-package "G")))) |
130 |
t) |
t) |
131 |
|
|
132 |
(deftest unuse-package-8 |
(deftest unuse-package-8 |
133 |
(progn |
(progn |
134 |
(ignore-errors (delete-package "H")) |
(safely-delete-package "H") |
135 |
(ignore-errors (delete-package "G")) |
(safely-delete-package "G") |
136 |
(let* ((pg (make-package "G" :use nil)) |
(let* ((pg (make-package "G" :use nil)) |
137 |
(ph (make-package "H" :use '("G")))) |
(ph (make-package "H" :use '("G")))) |
138 |
(prog1 |
(prog1 |
139 |
(and |
(and |
140 |
(equal (package-use-list ph) (list pg)) |
(equal (package-use-list ph) (list pg)) |
141 |
(equal (package-used-by-list pg) (list ph)) |
(equal (package-used-by-list pg) (list ph)) |
142 |
(ignore-errors (unuse-package (list #\G) ph)) |
(ignore-errors (unuse-package (list #\G) ph)) |
143 |
(equal (package-use-list ph) nil) |
(equal (package-use-list ph) nil) |
144 |
(null (package-used-by-list pg))) |
(null (package-used-by-list pg))) |
145 |
(delete-package "H") |
(safely-delete-package "H") |
146 |
(delete-package "G")))) |
(safely-delete-package "G")))) |
147 |
t) |
t) |
148 |
|
|
149 |
;; Now test with multiple packages |
;; Now test with multiple packages |
150 |
|
|
151 |
(deftest unuse-package-9 |
(deftest unuse-package-9 |
152 |
(progn |
(progn |
153 |
(dolist (p '("H1" "H2" "G1" "G2" "G3")) |
(dolist (p '("H1" "H2" "G1" "G2" "G3")) |
154 |
(ignore-errors (delete-package p))) |
(safely-delete-package p)) |
155 |
(let* ((pg1 (make-package "G1" :use nil)) |
(let* ((pg1 (make-package "G1" :use nil)) |
156 |
(pg2 (make-package "G2" :use nil)) |
(pg2 (make-package "G2" :use nil)) |
157 |
(pg3 (make-package "G3" :use nil)) |
(pg3 (make-package "G3" :use nil)) |
158 |
(ph1 (make-package "H1" :use (list pg1 pg2 pg3))) |
(ph1 (make-package "H1" :use (list pg1 pg2 pg3))) |
159 |
(ph2 (make-package "H2" :use (list pg1 pg2 pg3)))) |
(ph2 (make-package "H2" :use (list pg1 pg2 pg3)))) |
160 |
(let ((pubg1 (sort-package-list (package-used-by-list pg1))) |
(let ((pubg1 (sort-package-list (package-used-by-list pg1))) |
161 |
(pubg2 (sort-package-list (package-used-by-list pg2))) |
(pubg2 (sort-package-list (package-used-by-list pg2))) |
162 |
(pubg3 (sort-package-list (package-used-by-list pg3))) |
(pubg3 (sort-package-list (package-used-by-list pg3))) |
163 |
(puh1 (sort-package-list (package-use-list ph1))) |
(puh1 (sort-package-list (package-use-list ph1))) |
164 |
(puh2 (sort-package-list (package-use-list ph2)))) |
(puh2 (sort-package-list (package-use-list ph2)))) |
165 |
(prog1 |
(prog1 |
166 |
(and |
(and |
167 |
(= (length (remove-duplicates (list pg1 pg2 pg3 ph1 ph2))) |
(= (length (remove-duplicates (list pg1 pg2 pg3 ph1 ph2))) |
168 |
5) |
5) |
169 |
(equal (list ph1 ph2) pubg1) |
(equal (list ph1 ph2) pubg1) |
170 |
(equal (list ph1 ph2) pubg2) |
(equal (list ph1 ph2) pubg2) |
171 |
(equal (list ph1 ph2) pubg3) |
(equal (list ph1 ph2) pubg3) |
172 |
(equal (list pg1 pg2 pg3) puh1) |
(equal (list pg1 pg2 pg3) puh1) |
173 |
(equal (list pg1 pg2 pg3) puh2) |
(equal (list pg1 pg2 pg3) puh2) |
174 |
(unuse-package (list pg1 pg3) ph1) |
(unuse-package (list pg1 pg3) ph1) |
175 |
(equal (package-use-list ph1) (list pg2)) |
(equal (package-use-list ph1) (list pg2)) |
176 |
(equal (package-used-by-list pg1) (list ph2)) |
(equal (package-used-by-list pg1) (list ph2)) |
177 |
(equal (package-used-by-list pg3) (list ph2)) |
(equal (package-used-by-list pg3) (list ph2)) |
178 |
(equal (sort-package-list (package-use-list ph2)) |
(equal (sort-package-list (package-use-list ph2)) |
179 |
(list pg1 pg2 pg3)) |
(list pg1 pg2 pg3)) |
180 |
(equal (sort-package-list (package-used-by-list pg2)) |
(equal (sort-package-list (package-used-by-list pg2)) |
181 |
(list ph1 ph2)) |
(list ph1 ph2)) |
182 |
t) |
t) |
183 |
(dolist (p '("H1" "H2" "G1" "G2" "G3")) |
(dolist (p '("H1" "H2" "G1" "G2" "G3")) |
184 |
(ignore-errors (delete-package p))))))) |
(safely-delete-package p)))))) |
185 |
t) |
t) |
186 |
|
|
187 |
(deftest unuse-package.error.1 |
(deftest unuse-package.error.1 |
190 |
|
|
191 |
(deftest unuse-package.error.2 |
(deftest unuse-package.error.2 |
192 |
(progn |
(progn |
193 |
(ignore-errors (delete-package "UPE2A")) |
(safely-delete-package "UPE2A") |
194 |
(ignore-errors (delete-package "UPE2")) |
(safely-delete-package "UPE2") |
195 |
(make-package "UPE2" :use ()) |
(make-package "UPE2" :use ()) |
196 |
(make-package "UPE2A" :use '("UPE2")) |
(make-package "UPE2A" :use '("UPE2")) |
197 |
(classify-error (unuse-package "UPE2" "UPE2A" nil))) |
(classify-error (unuse-package "UPE2" "UPE2A" nil))) |