iterate tests regression on CLISP: finding.minimizing.1, minimize.1, minimize.2
Bug #1025909 reported by
Anton Vodonosov
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ITERATE macro |
New
|
Undecided
|
Unassigned | ||
common-lisp |
New
|
Undecided
|
Unassigned |
Bug Description
There seems to be a regression on clisp-2.49-unix between quicklisp 2012-07-03 and quicklisp 2012-05-20.
In quicklisp 2012-05-20 CLISP had only one test failure: bug/walk.2
In quicklisp 2012-07-03 it additionally has 3 new: finding.
Logs:
https:/
Strange is that tests on clisp-2.49-win do not have this regression,
it still has only one failure - bug/walk.2
https:/
tags: | added: clisp iterate qquicklisp-2012-07-03 |
tags: |
added: quicklisp-2012-07-03 removed: qquicklisp-2012-07-03 |
To post a comment you must log in.
I suspect this is the same as bug# 1009821. The problem is that a random lists of 100 integers (with the kth list's elements chosen randomly from 0 to k-1) is used for the minimize and maximize tests.
The test package goes to some efforts to try to get certain portions evaluated at read-time, but I suspect that some portions get re-evaluated later and the list is different enough to make a difference. I suspect if you re-ran the test on the same machine (maybe deleting the FASLs in between), you'd succeed.
Here is the relevant snippet from this test-grid blob:
Test ITERATE. TEST::FINDING. MINIMIZING. 1 failed TEST::* LIST-OF- LISTS*) (ITERATE:FINDING ELT ITERATE:MINIMIZING #'LENGTH ITERATE.TEST::INTO (ITERATE.TEST::E ITERATE.TEST::M)) TEST::MINIMIZE. 1 failed TEST::* LIST-OF- LISTS*) (ITERATE:MINIMIZING (LENGTH ELT) ITERATE.TEST::INTO ITERATE.TEST::M) TEST::MINIMIZE. 2 failed TEST::* LIST-OF- LISTS*) (ITERATE:MINIMIZE (LENGTH ELT)))
Form:
(ITERATE:ITERATE (ITERATE:FOR ELT ITERATE:IN ITERATE.
(ITERATE:FINALLY (RETURN ITERATE.TEST::M)))
Expected value: 2
Actual value: 1.
Test ITERATE.
Form:
(ITERATE:ITERATE (ITERATE:FOR ELT ITERATE:IN ITERATE.
(ITERATE:FINALLY (RETURN ITERATE.TEST::M)))
Expected value: 2
Actual value: 1.
Test ITERATE.
Form: (ITERATE:ITERATE (ITERATE:FOR ELT ITERATE:IN ITERATE.
Expected value: 2
Actual value: 1.