Problem with test strategy involving *list-of-lists*
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ITERATE macro |
New
|
Undecided
|
Unassigned | ||
common-lisp |
New
|
Undecided
|
Unassigned |
Bug Description
cl-test-grid shows failures for lw-6.0.0-linux-x86 ( http://
In addition to the bug/walk.2 from all lisps Bug #1009817 ( https:/
The common theme is that these are all of the tests that use maximize or maximizing. Oddly, the minimizing tests seem to work. But, from the looks of the error output, it may have just been unlucky. The test package makes *list-of-list* be 100 lists of randomly chosen lengths. But, it does this in an eval-when for compile-time load-toplevel and execute. The expected results are determined at read-time for the tests.
(eval-when (:compile-toplevel :load-toplevel :execute)
(defparameter *an-alist* '((a . 2) (b . 3) (zero . 10) (c . 4) (one . 20) (d . 5) (e . 99)))
(defparameter *list-of-lists* (loop for i from 0 to 100
(defun longest-list (list1 list2)
(if (< (length list2) (length list1))
list1
And, for example:
(deftest find-longest-list.1
(iterate (for elt in *list-of-lists*)
#.(reduce #'longest-list *list-of-lists*))
So, I'm thinking this is a dodgy test strategy.
Test ITERATE.
Form: (ITERATE:ITERATE (ITERATE:FOR ELT ITERATE:IN ITERATE.
Expected value: (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19)
Actual value: (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18).
Test ITERATE.
Form: (ITERATE:ITERATE (ITERATE:FOR ELT ITERATE:IN ITERATE.
Expected value: 20
Actual value: 19.
Test ITERATE.
Form: (ITERATE:ITERATE (ITERATE:FOR ELT ITERATE:IN ITERATE.
Expected value: (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19)
Actual value: (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18).
Test ITERATE.
Form: (ITERATE:ITERATE (ITERATE:FOR ELT ITERATE:IN ITERATE.
Expected value: 20
Actual value: 19.
Test ITERATE.
Form: (ITERATE:ITERATE (ITERATE:FOR ELT ITERATE:IN ITERATE.
Expected value: 20
Actual value: 19.
Test ITERATE.
Form: (ITERATE:ITERATE (ITERATE:FOR ELT ITERATE:IN ITERATE.
Expected value: 20
Actual value: 19.
ITERATE.
ITERATE.
Test ITERATE.
Form: (ITERATE:ITER ITERATE.TEST::OUTER (ITERATE:FOR ELT ITERATE:IN ITERATE.
Expected value: 20
Actual value: 19.
tags: | added: lispworks |
tags: |
added: test-problem removed: lispworks |
tags: | added: iterate |