How test-op is expected to deal with tests in dependency libraries?
If my application depends on several libraries, which in turn depend on others, when a user of my application asdf system runs test-op, is it expected to only run tests of the application itself? Of my test-op implementation should explicitly load and call tests of all dependencies?
I think it's better to recommend test-op implementations to run only tests of this system itself and ASDF could provide a "recursive test op", which runs tests on the whole dependency tree.
On 30 Sep 2019, at 6:26, Anton Vodonosov wrote:
How test-op is expected to deal with tests in dependency libraries?
If my application depends on several libraries, which in turn depend on others, when a user of my application asdf system runs test-op, is it expected to only run tests of the application itself? Of my test-op implementation should explicitly load and call tests of all dependencies?
I think it's better to recommend test-op implementations to run only tests of this system itself and ASDF could provide a "recursive test op", which runs tests on the whole dependency tree.
Yes, you are right. In general, we do not expect `TEST-OP` to propagate to dependencies. But there may be systems that have sub-systems, in which case the programmer might want propagation. This can be achieved with `in-order-to`. Indeed, my systems, `foo` typically have a coupled subsystem `foo/test`, with `(in-order-to (test-op (test-op "foo/test")))` (that syntax is just from memory; could be wrong).
Typically, I don't build the tests into the system under test, in order to avoid spurious dependencies on test libraries.
Best, R