From d13a2918cbbae14bfd997aeae0b4702c95bde548 Mon Sep 17 00:00:00 2001
From: "Robert P. Goldman" <rpgoldman@gmail.com>
Date: Tue, 8 Jul 2014 23:52:48 -0500
Subject: [PATCH] New test for cache correctness.

It seems that the cache may override the error flag for FIND-SYSTEM.
---
 test/test-cache.script | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 test/test-cache.script

diff --git a/test/test-cache.script b/test/test-cache.script
new file mode 100644
index 00000000..81e8ff72
--- /dev/null
+++ b/test/test-cache.script
@@ -0,0 +1,35 @@
+;;; -*- Lisp -*-
+
+;;; test to check that the cache doesn't upset error signaling from FIND-SYSTEM
+
+
+(in-package asdf-test)
+
+(defparameter *all-systems*
+  (list
+   "test-asdf"
+   "test-asdf/all"
+   "test-asdf/1"
+   "test-asdf/2"
+   "test-asdf/4"
+   "test-asdf/test9-1"
+   "test-asdf/test-module-depend"
+   "test-asdf/test9-2"
+   "test-asdf/test9-3"
+   "test-asdf/test-source-directory-1"
+   "test-asdf/test-source-directory-2"
+   "test-asdf/bundle-1"
+   "test-asdf/bundle-2"
+   "test-asdf/force"
+   "test-asdf/force1"))
+
+(defun clear-caches-and-search ()
+  (setf asdf:*central-registry* nil)
+  (mapc #'asdf/find-system:clear-defined-system *all-systems*))
+
+(clear-caches-and-search)
+(assert (not (asdf:find-system "test-asdf/force1" nil)))
+(multiple-value-bind (ret cond)
+    (ignore-errors (asdf:find-system "test-asdf/force1" t))
+  (assert (not ret))
+  (assert (typep cond 'asdf:missing-component)))
-- 
GitLab