diff --git a/ansi-tests/do-symbols.lsp b/ansi-tests/do-symbols.lsp index d57c92e311160e374984ed56eed91ec850217993..34f3868c95869afcc1d1626473b982f7609c2d15 100644 --- a/ansi-tests/do-symbols.lsp +++ b/ansi-tests/do-symbols.lsp @@ -10,12 +10,14 @@ (declaim (optimize (safety 3))) (deftest do-symbols.1 - (equalt - (remove-duplicates - (sort-symbols (let ((all nil)) - (do-symbols (x "B" all) (push x all))))) - (list (find-symbol "BAR" "B") - (find-symbol "FOO" "A"))) + (progn + (set-up-packages) + (equalt + (remove-duplicates + (sort-symbols (let ((all nil)) + (do-symbols (x "B" all) (push x all))))) + (list (find-symbol "BAR" "B") + (find-symbol "FOO" "A")))) t) ;; @@ -29,11 +31,11 @@ (do-symbols (x pkg all) (push x all)))))) (deftest do-symbols.2 - (collect-symbols "DS1") + (collect-symbols "DS1") (DS1:A DS1:B DS1::C DS1::D)) (deftest do-symbols.3 - (collect-symbols "DS2") + (collect-symbols "DS2") (DS2:A DS2::E DS2::F DS2:G DS2:H)) (deftest do-symbols.4 @@ -91,6 +93,7 @@ `(deftest ,test-name (let ((name ,name-form)) (assert (string= name "B")) + (set-up-packages) (equalt (remove-duplicates (sort-symbols (let ((all nil)) diff --git a/ansi-tests/find-package.lsp b/ansi-tests/find-package.lsp index 2763c7cdf9c75cc693409255b33e37cacae0857f..71ecbbc5405047b9d45c2452f2f783fa21479117 100644 --- a/ansi-tests/find-package.lsp +++ b/ansi-tests/find-package.lsp @@ -27,52 +27,66 @@ t) (deftest find-package.4 - (let ((p (ignore-errors (find-package "A")))) - (if (packagep p) - t - p)) + (progn + (set-up-packages) + (let ((p (ignore-errors (find-package "A")))) + (if (packagep p) + t + p))) t) (deftest find-package.5 - (let ((p (ignore-errors (find-package #\A)))) - (if (packagep p) - t - p)) + (progn + (set-up-packages) + (let ((p (ignore-errors (find-package #\A)))) + (if (packagep p) + t + p))) t) (deftest find-package.6 - (let ((p (ignore-errors (find-package "B")))) - (if (packagep p) - t - p)) + (progn + (set-up-packages) + (let ((p (ignore-errors (find-package "B")))) + (if (packagep p) + t + p))) t) (deftest find-package.7 - (let ((p (ignore-errors (find-package #\B)))) - (if (packagep p) - t - p)) + (progn + (set-up-packages) + (let ((p (ignore-errors (find-package #\B)))) + (if (packagep p) + t + p))) t) (deftest find-package.8 - (let ((p (ignore-errors (find-package "Q"))) - (p2 (ignore-errors (find-package "A")))) - (and (packagep p) - (packagep p2) - (eqt p p2))) + (progn + (set-up-packages) + (let ((p (ignore-errors (find-package "Q"))) + (p2 (ignore-errors (find-package "A")))) + (and (packagep p) + (packagep p2) + (eqt p p2)))) t) (deftest find-package.9 - (let ((p (ignore-errors (find-package "A"))) - (p2 (ignore-errors (find-package "B")))) - (eqt p p2)) + (progn + (set-up-packages) + (let ((p (ignore-errors (find-package "A"))) + (p2 (ignore-errors (find-package "B")))) + (eqt p p2))) nil) (deftest find-package.10 - (let ((p (ignore-errors (find-package #\Q))) - (p2 (ignore-errors (find-package "Q")))) - (and (packagep p) - (eqt p p2))) + (progn + (set-up-packages) + (let ((p (ignore-errors (find-package #\Q))) + (p2 (ignore-errors (find-package "Q")))) + (and (packagep p) + (eqt p p2)))) t) (deftest find-package.11 diff --git a/ansi-tests/find-symbol.lsp b/ansi-tests/find-symbol.lsp index 29400f576e971264b283ad27ec7b06f737a7a3d2..99f5a44ed092f01381f2668930b7832df66513d7 100644 --- a/ansi-tests/find-symbol.lsp +++ b/ansi-tests/find-symbol.lsp @@ -57,18 +57,35 @@ find-symbol.11 :internal) (deftest find-symbol.12 - (find-symbol "FOO" #\A) - A::FOO :external) + (progn + (set-up-packages) + (let ((vals (multiple-value-list (find-symbol "FOO" #\A)))) + (values (length vals) + (package-name (symbol-package (first vals))) + (symbol-name (first vals)) + (second vals)))) + 2 "A" "FOO" :external) (deftest find-symbol.13 (progn + (set-up-packages) (intern "X" (find-package "A")) - (find-symbol "X" #\A)) - A::X :internal) + (let ((vals (multiple-value-list (find-symbol "X" #\A)))) + (values (length vals) + (package-name (symbol-package (first vals))) + (symbol-name (first vals)) + (second vals)))) + 2 "A" "X" :internal) (deftest find-symbol.14 - (find-symbol "FOO" #\B) - A::FOO :inherited) + (progn + (set-up-packages) + (let ((vals (multiple-value-list (find-symbol "FOO" #\B)))) + (values (length vals) + (package-name (symbol-package (first vals))) + (symbol-name (first vals)) + (second vals)))) + 2 "A" "FOO" :inherited) (deftest find-symbol.15 (find-symbol "FOO" "FS-B") diff --git a/ansi-tests/list-all-packages.lsp b/ansi-tests/list-all-packages.lsp index 808483061f6f742858cc90dc5b8448115d4fbc00..797ea7c1b7b9db93e5fa847cc3b974ecaeaed735 100644 --- a/ansi-tests/list-all-packages.lsp +++ b/ansi-tests/list-all-packages.lsp @@ -16,15 +16,18 @@ ;; The required packages are present (deftest list-all-packages.2 - (subsetp - (list (find-package "CL") - (find-package "CL-USER") - (find-package "KEYWORD") - (find-package "A") - (find-package "REGRESSION-TEST") - (find-package "CL-TEST") - (find-package "B")) - (list-all-packages)) + (progn + (set-up-packages) + (notnot + (subsetp + (list (find-package "CL") + (find-package "CL-USER") + (find-package "KEYWORD") + (find-package "A") + (find-package "REGRESSION-TEST") + (find-package "CL-TEST") + (find-package "B")) + (list-all-packages)))) t) ;; The list returned has only packages in it diff --git a/ansi-tests/make-package.lsp b/ansi-tests/make-package.lsp index ee703874df1f8237c46e6ef3be7326cfa7967bbe..86238030f371ee807b1fa0066ac029a105c2d152 100644 --- a/ansi-tests/make-package.lsp +++ b/ansi-tests/make-package.lsp @@ -93,6 +93,7 @@ (deftest make-package.7 (progn + (set-up-packages) (safely-delete-package "TEST1") (let ((p (ignore-errors (make-package "TEST1" :use '("A"))))) (prog1 @@ -106,6 +107,7 @@ (deftest make-package.7a (progn + (set-up-packages) (safely-delete-package "TEST1") (let ((p (ignore-errors (make-package "TEST1" :use '(#:|A|))))) (prog1 @@ -119,6 +121,7 @@ (deftest make-package.7b (progn + (set-up-packages) (safely-delete-package "TEST1") (let ((p (ignore-errors (make-package "TEST1" :use '(#\A))))) (prog1 @@ -132,6 +135,7 @@ (deftest make-package.8 (progn + (set-up-packages) (safely-delete-package '#:|TEST1|) (let ((p (ignore-errors (make-package '#:|TEST1| :use '("A"))))) (multiple-value-prog1 @@ -145,6 +149,7 @@ (deftest make-package.8a (progn + (set-up-packages) (safely-delete-package '#:|TEST1|) (let ((p (ignore-errors (make-package '#:|TEST1| :use '(#:|A|))))) (multiple-value-prog1 @@ -158,6 +163,7 @@ (deftest make-package.8b (progn + (set-up-packages) (safely-delete-package '#:|TEST1|) (let ((p (ignore-errors (make-package '#:|TEST1| :use '(#\A))))) (multiple-value-prog1 @@ -171,6 +177,7 @@ (deftest make-package.9 (progn + (set-up-packages) (safely-delete-package #\X) (let ((p (ignore-errors (make-package #\X :use '("A"))))) (multiple-value-prog1 @@ -184,6 +191,7 @@ (deftest make-package.9a (progn + (set-up-packages) (safely-delete-package #\X) (let ((p (ignore-errors (make-package #\X :use '(#:|A|))))) (multiple-value-prog1 @@ -197,6 +205,7 @@ (deftest make-package.9b (progn + (set-up-packages) (safely-delete-package #\X) (let ((p (ignore-errors (make-package #\X :use '(#\A))))) (multiple-value-prog1 @@ -380,6 +389,7 @@ (defmacro def-make-package-test3 (test-name name-form) `(deftest ,test-name (let ((name ,name-form)) + (set-up-packages) (safely-delete-package "TEST1") (assert (find-package name)) (let ((p (ignore-errors (make-package "TEST1" :use (list name))))) @@ -435,22 +445,29 @@ ;; exist as packages or nicknames of packages (deftest make-package.error.1 - (handle-non-abort-restart (make-package "A")) + (progn + (set-up-packages) + (handle-non-abort-restart (make-package "A"))) success) (deftest make-package.error.2 - (handle-non-abort-restart (make-package "Q")) + (progn + (set-up-packages) + (handle-non-abort-restart (make-package "Q"))) success) (deftest make-package.error.3 - (handle-non-abort-restart - (safely-delete-package "TEST1") - (make-package "TEST1" :nicknames '("A"))) + (progn + (set-up-packages) + (handle-non-abort-restart + (safely-delete-package "TEST1") + (make-package "TEST1" :nicknames '("A")))) success) (deftest make-package.error.4 (handle-non-abort-restart (safely-delete-package "TEST1") + (safely-delete-package "Q") (make-package "TEST1" :nicknames '("Q"))) success) diff --git a/ansi-tests/packages-00.lsp b/ansi-tests/packages-00.lsp index 6ade20227dc4898ee72cfe88f2b01faf4806a002..08a0b4f0d870246a090dbc23493bb267928d16aa 100644 --- a/ansi-tests/packages-00.lsp +++ b/ansi-tests/packages-00.lsp @@ -17,6 +17,18 @@ (:use "A") (:export "BAR"))) +(defun set-up-packages () + (safely-delete-package "A") + (safely-delete-package "B") + (safely-delete-package "Q") + (defpackage "A" + (:use) + (:nicknames "Q") + (:export "FOO")) + (defpackage "B" + (:use "A") + (:export "BAR"))) + (report-and-ignore-errors (defpackage "FS-A" (:use)