Proposal for TEST-OP to communicate useful failure results in ASDF

5 views
Skip to first unread message

Vladimir Sedach

unread,
Sep 25, 2019, 3:50:40 PM9/25/19
to cl-tes...@googlegroups.com
Hello,

I am working on a condition protocol proposal to enable ASDF:TEST-OP
to communicate useful failure results. Now that a lot of systems that
use ASDF3 define TEST-OP, this is the last step needed to be able to
say (asdf:test-system "any-system") and have it "just work."

This will make it much easier to add new projects to
testsuites/testsuites.lisp, to support projects that use new test
libraries, and will eventually lead to no longer needing custom
adapter code for individual test libraries.

The implementation for ASDF itself is here:
https://gitlab.common-lisp.net/asdf/asdf/merge_requests/124

I have made working implementations of this condition protocol for
FiveAM and rove:
https://github.com/sionescu/fiveam/pull/58
https://github.com/vsedach/rove/commit/f6f8822eedc61d131c3b1d37b45c6d48cefcf633

Each of those implementations took less than half an hour. I
anticipate it will be similarly easy to add this condition protocol
to other Common Lisp test libraries.

As an example, here is a working test automation script that will
test any system that defines TEST-OP in multiple Common Lisp
implementations:

https://gitlab.common-lisp.net/uri-template/uri-template2/blob/master/run-tests.lisp

The short story is that the following code "just works" for any
system:

(handler-case (asdf:test-system "system")
(asdf:test-op-test-failures (condition)
(princ condition uiop:*stderr*)
(uiop:quit 1)))

I hope you can see how this can be adapted to work with cl-test-grid.

I invite you to discuss the proposal and offer your thoughts and
improvements on the merge request page or the ASDF mailing list:
https://gitlab.common-lisp.net/asdf/asdf/merge_requests/124
https://mailman.common-lisp.net/pipermail/asdf-devel/2019-September/thread.html

If you approve, please voice your approval. I have encountered a lot
of unexpected and quite frankly bizarre push-back from the ASDF
maintainers.

--
Vladimir Sedach
Software engineering services in Los Angeles https://oneofus.la

Anton Vodonosov

unread,
Sep 26, 2019, 6:33:03 AM9/26/19
to cl-tes...@googlegroups.com
Hi Vladimir, thank you, making the test-op finally provide results whould be great.

I've read the asdf list discussion, they are not really pushing back I think. Just commenting.

25.09.2019, 22:50, "Vladimir Sedach" <vse...@gmail.com>:

Hello,

I am working on a condition protocol proposal to enable ASDF:TEST-OP
to communicate useful failure results. Now that a lot of systems that
use ASDF3 define TEST-OP, this is the last step needed to be able to
say (asdf:test-system "any-system") and have it "just work."

This will make it much easier to add new projects to
testsuites/testsuites.lisp, to support projects that use new test
libraries, and will eventually lead to no longer needing custom
adapter code for individual test libraries.

The implementation for ASDF itself is here:
https://gitlab.common-lisp.net/asdf/asdf/merge_requests/124

I have made working implementations of this condition protocol for
FiveAM and rove:
https://github.com/sionescu/fiveam/pull/58



Each of those implementations took less than half an hour. I
anticipate it will be similarly easy to add this condition protocol
to other Common Lisp test libraries.

As an example, here is a working test automation script that will
test any system that defines TEST-OP in multiple Common Lisp
implementations:



The short story is that the following code "just works" for any
system:

(handler-case (asdf:test-system "system")
  (asdf:test-op-test-failures (condition)
    (princ condition uiop:*stderr*)
    (uiop:quit 1)))

I hope you can see how this can be adapted to work with cl-test-grid.

I invite you to discuss the proposal and offer your thoughts and
improvements on the merge request page or the ASDF mailing list:
https://gitlab.common-lisp.net/asdf/asdf/merge_requests/124



If you approve, please voice your approval. I have encountered a lot
of unexpected and quite frankly bizarre push-back from the ASDF
maintainers.

--
Vladimir Sedach
Software engineering services in Los Angeles https://oneofus.la


--
You received this message because you are subscribed to the Google Groups "cl-test-grid" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cl-test-grid...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cl-test-grid/8736gkp33r.fs….



Reply all
Reply to author
Forward
0 new messages