Skip to content

lisp-unit confused about local function #44

Description

@jimka2001

When I define a test as shown here, I get an error when running the tests that the local function is undefined.

(define-test test123
  (flet ((equal-n (&rest args)
           (and (cdr args)
                (forall a args
                  (equal a (car args))))))
    (assert-true (equal-n 3 3 3 3 3 3 3 ))))
The function LISP-TYPES-TEST::EQUAL-N is undefined.
   [Condition of type UNDEFINED-FUNCTION]

Restarts:
 0: [CONTINUE] Retry using EQUAL-N.
 1: [USE-VALUE] Use specified function.
 2: [RETRY] Retry SLIME REPL evaluation request.
 3: [*ABORT] Return to SLIME's top level.
 4: [ABORT] abort thread (#<THREAD "repl-thread" RUNNING {105CC40003}>)

Backtrace:
  0: ((LAMBDA ()))
  1: (LISP-UNIT::INTERNAL-ASSERT :RESULT (EQUAL-N 3 3 3 3 3 ...) #<CLOSURE (LAMBDA NIL) {131DCBC54B}> #<FUNCTION (LAMBDA NIL) {131D5B9ECB}> #<CLOSURE (LAMBDA NIL) {131DCBC56B}> #<FUNCTION EQL>)
  2: ((LAMBDA ()))
  3: (LISP-UNIT::RUN-CODE ((FLET (#) (ASSERT-TRUE #))))
  4: (LISP-UNIT::RUN-TEST-THUNK TEST123 ((FLET (#) (ASSERT-TRUE #))))
  5: (LISP-UNIT::RECORD-RESULT TEST123 ((FLET (#) (ASSERT-TRUE #))) #<TEST-RESULTS-DB Total(0) Passed(0) Failed(0) Errors(0)> ..)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions