Stefil demo output

Simple suite and tests in the repl

STEFIL-TEST> (defsuite demo)
#<test DEMO>
STEFIL-TEST> (in-suite demo)
DEMO
STEFIL-TEST> (deftest car-is-42 (x)
               (is (= (car x) 42))
               (car x))
CAR-IS-42
STEFIL-TEST> (deftest test-calling-test ()
               (car-is-42 (list 42))
               (is (eq (car-is-42 (list 43)) 43)))
TEST-CALLING-TEST
STEFIL-TEST> (demo)
.X.
#<test-run 3 tests, 3 assertions, 1 failures in 0.012 sec>

The inspected test result

Stefil test results

Executed tests: 3
Executed assertions: 3

List of failures (1): [rerun all failed tests]
  [rerun] #<failure (IS (= (CAR X) 42)) backtrace: CAR-IS-42,TEST-CALLING-TEST,DEMO>

[show all slots]

The inspected failure

Failed Stefil assertion

Form: (IS (= (CAR X) 42))

Test backtrace:
  0: #<test-run (CAR-IS-42 (43))> [rerun]
  1: #<test-run (TEST-CALLING-TEST)> [rerun]
  2: #<test-run (DEMO)> [rerun]

[show all slots]

An inspected test

Stefil test

Name:                    CAR-IS-42  [undefine]
Package:                 #<PACKAGE "STEFIL-TEST">
Compile before run?:     yes
Auto call by its suite?: yes
Documentation:           
Parent:                  #<test DEMO :tests 2> [run]

[hide slots]
List of all slots:
  AUTO-CALL          = T [set value] [make unbound]
  BODY               = ((LET ((*SUITE* *STEFIL-TEMP-SUITE*)) (IS (= (CAR X) 42)) (CAR X))) [set value] [make unbound]
  CHILDREN           = #<HASH-TABLE :TEST EQL :COUNT 0 {CC88F29}> [set value] [make unbound]
  COMPILE-BEFORE-RUN = T [set value] [make unbound]
  DECLARATIONS       = NIL [set value] [make unbound]
  DOCUMENTATION      = NIL [set value] [make unbound]
  LAMBDA-LIST        = (X) [set value] [make unbound]
  NAME               = CAR-IS-42 [set value] [make unbound]
  PACKAGE            = #<PACKAGE "STEFIL-TEST"> [set value] [make unbound]
  PARENT             = #<test DEMO :tests 2> [set value] [make unbound]

Slime debugger with the restarts

Test assertion failed:

Binary predicate (= X Y) failed.
x: (CAR X) => 43
y: 42 => 42
   [Condition of type STEFIL::ASSERTION-FAILED]

Restarts:
 10: CONTINUE                   Record the failure and continue
 9: CONTINUE                   Skip the rest of the test CAR-IS-42 and continue by returning (values)
 8: RETEST                     Rerun the test CAR-IS-42
 7: CONTINUE                   Skip the rest of the test TEST-CALLING-TEST and continue by returning (values)
 6: RETEST                     Rerun the test TEST-CALLING-TEST
 5: CONTINUE                   Skip the rest of the test DEMO and continue by returning (values)
 4: RETEST                     Rerun the test DEMO
 3: CONTINUE-WITHOUT-DEBUGGING Turn off debugging for this test session and invoke the first CONTINUE restart
 2: ABORT-TESTING              Abort the entire test session
 1: ABORT                      Return to SLIME's top level.
 0: TERMINATE-THREAD           Terminate this thread (#<THREAD "repl-thread" {C666E89}>)

Backtrace:
  0: (RECORD-FAILURE* STEFIL::FAILED-ASSERTION)
  1: ((LABELS CAR-IS-42))
  2: ((LABELS STEFIL::RUN-TEST-BODY))
  3: ((FLET STEFIL::BODY))
  4: (STEFIL::RUN-TEST-BODY #<test CAR-IS-42> #<CLOSURE (LABELS CAR-IS-42) {D74CED5}> ((X 43)) NIL)
  5: ((LABELS #:BODY2570))
  6: (CAR-IS-42 (43))
  7: ((LABELS TEST-CALLING-TEST))
  8: ((LABELS STEFIL::RUN-TEST-BODY))
  9: ((FLET STEFIL::BODY))
 10: (STEFIL::RUN-TEST-BODY #<test TEST-CALLING-TEST> #<FUNCTION (LABELS TEST-CALLING-TEST) {D11E7E5}> NIL NIL)
 11: ((LABELS #:BODY2575))
 12: (TEST-CALLING-TEST)
 13: ((FLET RUN-CHILD-TESTS))
 14: ((LABELS DEMO))
 15: ((LABELS STEFIL::RUN-TEST-BODY))
 16: ((FLET STEFIL::BODY))
 17: (STEFIL::RUN-TEST-BODY #<test DEMO :tests 2> #<FUNCTION (LABELS DEMO) {CCE1F85}> NIL T)
 18: ((LABELS #:BODY2565))
 19: (DEMO)