[PATCH] have OPERATION-DONE-P return NIL for TEST-OP by default

Luis Oliveira <[email protected]> Mon, 10 Dec 2007 19:48:39 +0000
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
Hello,

The attached patch adds a default method to the OPERATION-DONE-P generic
function for TEST-OP operations.  This way one can run (oos 'test-op
:foo) several times without having to pass :FORCE T after the first run.

I might also argue that (oos 'test-op :foo) should also cause LOAD-OP to
kick in. Something like:

  (defmethod component-depends-on ((operation test-op) (c component))
    (cons (list 'load-op (component-name c))
          (call-next-method)))

I'm not 100% sure about either proposal because I probably don't
understand TEST-OP fully (for instance, I suppose it might have other
meanings besides running a test-suite) but the attached patch seems
fairly benign.


-- 
Luís Oliveira
http://student.dei.uc.pt/~lmoliv/

-------------------------------------------------------------------------
SF.Net email is sponsored by: 
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php

_______________________________________________
cclan-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cclan-list
asdf-test-op-done-p.patch (text/x-patch, 662 B)
Index: asdf.lisp
===================================================================
RCS file: /cvsroot/cclan/asdf/asdf.lisp,v
retrieving revision 1.110
diff -u -r1.110 asdf.lisp
--- asdf.lisp	27 Sep 2007 13:15:06 -0000	1.110
+++ asdf.lisp	10 Dec 2007 16:59:09 -0000
@@ -861,6 +861,9 @@
 (defmethod perform ((operation test-op) (c component))
   nil)
 
+(defmethod operation-done-p ((operation test-op) (c component))
+  nil)
+
 (defgeneric load-preferences (system operation)
   (:documentation "Called to load system preferences after <perform operation system>. Typical uses are to set parameters that don't exist until after the system has been loaded."))