I think you should just stick "(except @racket[check-<whatever>], since its first/second argument is a match pattern)" or something like that into the docs in your pull request.
Also test cases: I think there is a test suite for rackunit somewhere; let me know if you have trouble with it and I can add tests. Robby On Mon, Nov 19, 2012 at 7:20 PM, Joe Gibbs Politz <j...@cs.brown.edu> wrote: >> Yeah, that is very nice! (It should begin with "check" not "test" tho, >> right?) > > Indeed; Jonah was writing w.r.t plai, which uses test. Should use check- in > rackunit. > > I noticed that this also violates, from the rackunit docs: > > "Although checks are implemented as macros, which is necessary to grab > source location, they are conceptually functions. This means, for instance, > checks always evaluate their arguments." > > I suppose this should go in a separate section of "additional checks" or > some such? > > > On Mon, Nov 19, 2012 at 8:01 PM, Robby Findler <ro...@eecs.northwestern.edu> > wrote: >> >> Yeah, that is very nice! (It should begin with "check" not "test" tho, >> right?) >> >> Robby >> >> >> On Monday, November 19, 2012, Matthias Felleisen wrote: >>> >>> >>> That is cute. Why don't you just create a pull request and Ryan can >>> integrate it into rackunit? -- Matthias >>> >>> >>> >>> >>> >>> On Nov 19, 2012, at 4:22 PM, Joe Gibbs Politz wrote: >>> >>> > A small suggestion: >>> > >>> > I used roughly this macro (credit Jonah Kagan) recently to help me >>> > write some tests for parsing code that agnostic to which source position >>> > is >>> > generated in the parse: >>> > >>> > (define-syntax test/match >>> > (syntax-rules () >>> > [(test/match actual expected pred) >>> > (let ([actual-val actual]) >>> > (with-check-info* (list (make-check-actual actual-val) >>> > (make-check-expected 'expected)) >>> > (thunk (check-true (match actual-val >>> > [expected pred] >>> > [_ false])))))] >>> > >>> > [(test/match actual expected) >>> > (test/match actual expected true)])) >>> > >>> > Shriram remarked that he was surprised some sort of check-match wasn't >>> > in rackunit already. Is it worth adding something like this? >>> > >>> > I'm doing things like: >>> > >>> > (test/match (parse "5 'foo'") (s-block _ (list (s-num _ 5) (s-str _ >>> > "foo")))) >>> > >>> > Where the structs s-block, s-num, and s-str all expect a srcloc as >>> > their first argument, but I don't care about it for these tests. >>> > >>> > The actual use is at: >>> > >>> > >>> > https://github.com/brownplt/pyret-lang/blob/master/src/tests/parse-tests.rkt#L36 >>> > >>> > That file would be much, much uglier without this macro. >>> > >>> > Cheers, >>> > Joe P. >>> > >>> > _________________________ >>> > Racket Developers list: >>> > http://lists.racket-lang.org/dev >>> > _________________________ Racket Developers list: http://lists.racket-lang.org/dev