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
This commit is contained in:
Daniel Kochmański 2020-04-05 14:50:15 +02:00
parent 49b244db78
commit cdf55007a4
2 changed files with 15 additions and 1 deletions

View file

@ -692,7 +692,9 @@
(load file)
(delete-file "make-load-form.lsp")
(delete-file file))
(is-equal "#1=(1 2 3 #<a CL-TEST::COMPILER-TEST-CLASS> #1#)" (foo.0030))
(let ((str (foo.0030)))
(is (and (search "#1=(1 2 3 #<a CL-TEST::COMPILER-TEST-CLASS" str)
(search "> #1#)" str))))
(is (eq (compiler-test-parent a.0030) b.0030))
(is (eq (first (compiler-test-children b.0030)) a.0030)))

View file

@ -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)))