On 14 March 2010 21:04, james anderson james.anderson@setf.de wrote:
On 2010-03-15, at 01:36 , Faré wrote:
Dear James,
is there a tarball I can download with enough stuff to replace those tests or yours?
? the tests are all in the one asdf-pathname-test.lisp file.
The amazon host is down. Also, when I last glanced, it looked like you needed some subdirectory with test files. Can you send on the list a tarball with the .lisp, .sh, and any ancillary file or does your script already create the files?
if the pathname reference failed, the entry looks like
CL-SOURCE-FILE "file" missing: #P"/ebs/test/asdf-src/system1/module1/ untyped-file.lisp" configuration: (#P"ASDFTEST:system1;" #P"ASDFTEST:system2;module4;" #P"/ebs/test/asdf-src/system1/module1/ untyped-file") parent pathnames: (#P"ASDFTEST:system1;" #P"ASDFTEST:system2;module4;")
Does "missing" means that you tried that pathname in the end, and failed? i.e. in that case, you were expecting a .lisp type, when you're not providing one in an explicit pathname? We explicitly won't merge any type when a pathname object is specified, so that the user can override component-provided types.
Also, why do you map :unspecific to nil in merge-pathnames* ? What issues does that solve? Isn't that against what we want?
i changed it to pass no argument when no value is intended. on this topic clhs/make-pathname -> 19.2.1 lets you down. you need to attend to 19.3.2.1 [1], to which it appears lispworks pays attention.[2]
Ouch. I had missed this section. What about I change merge-pathnames* to squash :unspecific if and only if the host is a logical host?
Shouldn't we rather have split-name-type return type :unspecific more often? Maybe your function should compare namestrings instead of pathnames?
the test does not explicitly "compare". it create the files, then uses the component pathnames to try to write to them (or just probe for directories), and then confirms that it found all the intended files by checking their modification times. at least, that is what it is supposed to do.
OK.
--#f Nostalgia isn’t what it used to be.
On 2010-03-15, at 21:07 , Faré wrote:
On 14 March 2010 21:04, james anderson james.anderson@setf.de wrote:
On 2010-03-15, at 01:36 , Faré wrote:
Dear James,
is there a tarball I can download with enough stuff to replace those tests or yours?
? the tests are all in the one asdf-pathname-test.lisp file.
The amazon host is down. Also, when I last glanced, it looked like you needed some subdirectory with test files. Can you send on the list a tarball with the .lisp, .sh, and any ancillary file or does your script already create the files?
for now, amazon is up when i use it. the files are in github.[0],[1],[2] as you read, below, the test creates everything it needs.
if the pathname reference failed, the entry looks like
CL-SOURCE-FILE "file" missing: #P"/ebs/test/asdf-src/system1/module1/ untyped-file.lisp" configuration: (#P"ASDFTEST:system1;" #P"ASDFTEST:system2;module4;" #P"/ebs/test/asdf-src/system1/module1/ untyped-file") parent pathnames: (#P"ASDFTEST:system1;" #P"ASDFTEST:system2;module4;")
Does "missing" means that you tried that pathname in the end, and failed?
for a file component, it means that (open ... :if-does-not- exist :error) failed.[3]
i.e. in that case, you were expecting a .lisp type, when you're not providing one in an explicit pathname?
the component name and the three configuration pathnames indicate what was supplied in the defsystem. the missing is the actual component pathname form a source file component in a system of that configuration. as it should not have been, no target file had been created for it. thus, the failure.
We explicitly won't merge any type when a pathname object is specified, so that the user can override component-provided types.
i understand, that is your spec. the missing file is the reality with allegro. i believe this error is specific to allegro. it is representative of many in the alisp/output.txt file which i sent to you.
Also, why do you map :unspecific to nil in merge-pathnames* ? What issues does that solve? Isn't that against what we want?
i changed it to pass no argument when no value is intended. on this topic clhs/make-pathname -> 19.2.1 lets you down. you need to attend to 19.3.2.1 [1], to which it appears lispworks pays attention.[2]
Ouch. I had missed this section. What about I change merge-pathnames* to squash :unspecific if and only if the host is a logical host?
once that is in the a released version, i will test it.
Shouldn't we rather have split-name-type return type :unspecific more often? Maybe your function should compare namestrings instead of pathnames?
the test does not explicitly "compare". it create the files, then uses the component pathnames to try to write to them (or just probe for directories), and then confirms that it found all the intended files by checking their modification times. at least, that is what it is supposed to do.
OK.
--- [0] : http://github.com/lisp/de.setf.asdf.x/blob/master/test/asdf- pathname-test.sh [1] : http://github.com/lisp/de.setf.asdf.x/blob/master/test/test- init.lisp [2] : http://github.com/lisp/de.setf.asdf.x/blob/master/test/asdf- pathname-test.lisp [3] : http://github.com/lisp/de.setf.asdf.x/blob/master/test/asdf- pathname-test.lisp#L208
Dear James,
thanks. I've cloned your git repo and am using the tests there. sbcl and ccl seem to work without error. clisp seems to have trouble with logical pathnames. ecl 10.2.1 seems to hang. :-( Other implementations are not found (on my system at least).
In test-init.lisp, I use (defvar *asdf* #p"/home/fare/cl/asdf/asdf.lisp") (defparameter *binary-path* (make-pathname :type (pathname-type (compile-file-pathname "test.lisp")) :directory (append (pathname-directory *asdf*) '("tmp")) :defaults *asdf*))
--#f The best place to find a helping hand is at the end of your own arm.