Re: Concurrency design

2011-08-08 Thread jweiss
Ken, Thanks for your response! Those are some great suggestions. Some look quite promising, a few don't fit my purposes. For instance, I can't use pcalls because the user needs to be able to control the number of threads. Your method to skip tests using 'and' works, and is interesting, but I w

Re: Concurrency design

2011-08-08 Thread jweiss
If I may reply to myself: Sometimes just stating the problem for someone else makes the solution clear. My false assumption was that I needed something as fancy as agents or ThreadPoolExecutor. The solution was simple Just queue up the tests with a BlockingQueue, start some plain java threads wi

Re: Concurrency design

2011-08-08 Thread Ken Wesson
If the local bindings will never change, then why not just use (binding [whatever-setup ...] ...) wrapping the individual test bodies that need such setup? (Where explicit tear-down is required, you'd need try ... finally as well, or better yet a macro like with-open, but using binding instead of l

Concurrency design

2011-08-08 Thread jweiss
I'm having some trouble figuring out what clojure concurrency tools I can use to solve my problem. The application I'm trying to build is a functional test harness, like TestNG but for clojure. It takes an input a tree of tests to run (where child tests don't run unless the parent passed), and ru