This feels out of scope for out-of-the-box ASDF to me. I'm not dead-set against it, but it seems like the notion of "operation" here is very different from ASDF's notion of operation.
What you want seems to be something like
(do-lisps (lisp *all-lisps*) (unless (= 42 (run-lisp lisp '(progn (require :asdf) (asdf:load-system :foo) (asdf:test-system :foo) (fooext:quit 42)))) (error "~A didn't pass the muster" lisp)))
which to me seems to have very little to do with ASDF.
This feels out of scope for out-of-the-box ASDF to me. I'm not dead-set against it, but it seems like the notion of "operation" here is very different from ASDF's notion of operation.
What you want seems to be something like
(do-lisps (lisp *all-lisps*)
' (progn
(require :asdf)
(asdf: load-system :foo)
(asdf: test-system :foo)
(fooext: quit 42))))
(unless (= 42 (run-lisp lisp
(error "~A didn't pass the muster" lisp)))
which to me seems to have very little to do with ASDF.