On 1/2/10 Jan 2 -3:16 PM, Robert Goldman wrote:
Just ran the cl-json test suite (patch to cl-json.asd that makes this easier will follow) and got seven failures:
Failure Details:
DECODER-PERFORMANCE-WITH-SIMPLIFIED-CAMEL-CASE []: Unexpected Error: #<FILE-ERROR @ #x1001aa33c2> File #P"/Users/rpg/lisp/cl-json/t/allegro-8.1a-64bit-macosx-x86-64/pass1.json" does not exist...
PASS-3 []: Unexpected Error: #<FILE-ERROR @ #x10013e37f2> File #P"/Users/rpg/lisp/cl-json/t/allegro-8.1a-64bit-macosx-x86-64/pass3.json" does not exist...
PASS-1 []: Unexpected Error: #<FILE-ERROR @ #x10013dd8d2> File #P"/Users/rpg/lisp/cl-json/t/allegro-8.1a-64bit-macosx-x86-64/pass1.json" does not exist...
DECODER-PERFORMANCE []: Unexpected Error: #<FILE-ERROR @ #x1001ad4162> File #P"/Users/rpg/lisp/cl-json/t/allegro-8.1a-64bit-macosx-x86-64/pass1.json" does not exist...
PASS-2 []: Unexpected Error: #<FILE-ERROR @ #x100144c6f2> File #P"/Users/rpg/lisp/cl-json/t/allegro-8.1a-64bit-macosx-x86-64/pass2.json" does not exist...
OK, I know what's going on with the file-errors. The problem is that ASDF now by default uses asdf-binary-locations and relocates binaries into different locations (this is necessary so that the same source files can be compiled into, e.g., both SBCL and ACL, both of which apply the .fasl extension to the compiler's outputs).
This means that *load-pathname* cannot be used raw as a way of finding the .json data files.
I have a patch to propose that gets around this by recording *load-truename* inside the .asd file (which is not moved) instead of inside the .lisp files.
Patch will follow, r