From cdf55007a430b2cb3006863a49944f5c2c438bc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Sun, 5 Apr 2020 14:50:15 +0200 Subject: [PATCH] tests: add a regression test for the issue #568 - also fix test which assumed constant unreadable representation of the object of class compiler-test-class --- src/tests/normal-tests/compiler.lsp | 4 +++- src/tests/normal-tests/metaobject-protocol.lsp | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/tests/normal-tests/compiler.lsp b/src/tests/normal-tests/compiler.lsp index 02a2ce6b8..7a9a2a7ce 100644 --- a/src/tests/normal-tests/compiler.lsp +++ b/src/tests/normal-tests/compiler.lsp @@ -692,7 +692,9 @@ (load file) (delete-file "make-load-form.lsp") (delete-file file)) - (is-equal "#1=(1 2 3 # #1#)" (foo.0030)) + (let ((str (foo.0030))) + (is (and (search "#1=(1 2 3 # #1#)" str)))) (is (eq (compiler-test-parent a.0030) b.0030)) (is (eq (first (compiler-test-children b.0030)) a.0030))) diff --git a/src/tests/normal-tests/metaobject-protocol.lsp b/src/tests/normal-tests/metaobject-protocol.lsp index c7b7efcd6..9ddd38f5f 100644 --- a/src/tests/normal-tests/metaobject-protocol.lsp +++ b/src/tests/normal-tests/metaobject-protocol.lsp @@ -664,3 +664,15 @@ the metaclass") (signals error (make-instance 'foo1)) (finishes (defclass foo2 () ())) (finishes (make-instance 'foo1)))) + +;;; Date 2020-04-05 +;;; URL: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/568 +;;; Fixed: 557541f3 +;;; Description +;;; +;;; Finalizing inheritance of a standard-effective-slot-definition +;;; lead to the infinite recursion by making all its instances +;;; obsolete (including its own slots!). +(test mop.0025.xxx + (clos:finalize-inheritance + (find-class 'clos:standard-effective-slot-definition)))