fukamachi/prove

Package error when testing a system

eudoxia0 opened this issue · 3 comments

Running the tests of cl-base58 with (asdf:test-system :cl-base58), I get:

The name :|PROVE.REPORTER.list| does not designate any package.
   [Condition of type sb-kernel:simple-package-error]

Restarts:
 0: [retry] Retry EVAL of current toplevel form.
 1: [continue] Ignore error and continue loading file "/home/eudoxia/code/old/cl-base58/t/cl-base58.lisp".
 2: [abort] Abort loading file "/home/eudoxia/code/old/cl-base58/t/cl-base58.lisp".
 3: [skip-test-file] Skip this test file.
 4: [skip-all-test-files] Give up all test files.
 5: [retry] Retry test-op on #<system "cl-base58-test">.
 --more--

Backtrace:
  0: (sb-int:%find-package-or-lose :|PROVE.REPORTER.list|)
  1: (sb-int:find-undeleted-package-or-lose :|PROVE.REPORTER.list|)
  2: (intern "list-REPORTER" :|PROVE.REPORTER.list|)
  3: (prove.reporter::find-reporter :list)
  4: ((:method prove.reporter:format-report (t null prove.report:report)) #<swank/gray::slime-output-stream {10052662A3}> #<unused argument> #<error-test-report RESULT: nil, GOT: #<sb-kernel:simple-package..
  5: ((flet #:fun6 :in "/home/eudoxia/code/old/cl-base58/t/cl-base58.lisp") #<sb-kernel:simple-package-error "The name ~S does not designate any package." {1005E71F33}>)
  6: ((lambda nil :in "/home/eudoxia/code/old/cl-base58/t/cl-base58.lisp"))
  7: (sb-int:simple-eval-in-lexenv (prove.test:is (base58:encode "derp") "3ZqqXd") #<NULL-LEXENV>)
  8: (eval-tlf (prove.test:is (base58:encode "derp") "3ZqqXd") 4 #<NULL-LEXENV>)

At first I thought I'd set it up the wrong way, but when testing datafly I got the exact same error.

Since you (probably) don't get this error, I'm assuming it might be something related to my configuration.

Could you tell me the value of prove:*default-reporter* in your environment?

cl-user> prove:*default-reporter* 
:list

Fixed in the above commit.
It couldn't intern a package name if *print-case* is :downcase.