Happy branch day! :party:
@notjack: Haven’t gotten to starting the festivities yet. ;)
@stamourv I don’t know if you get this email, but the stxparse tests failed on windows on the release branch https://ci.appveyor.com/project/plt/racket/build/1.0.2619 cc @ryanc
FWIW, fails on master as well: https://ci.appveyor.com/project/plt/racket/build/1.0.2619
@stamourv that link is to the release branch build
you can see the history here; it’s passing on master: https://ci.appveyor.com/project/plt/racket/history
Oh, you’re right. I can’t read appveyor’s page.
I guess I wasn’t expecting it to test back from the tip of the branch?
looks like it failed similarly for the tip of the release
branch (see #notifications)
@stamourv, it “fails” under raco test
but not when run directly by racket
. I suspect a bug in one of the recent rackunit changes, but I won’t really be inclined to spend time debugging it until tomorrow at 8:01am EDT :slightly_smiling_face:
Heh. :)
@notjack: ^
If anyone else wants to investigate, I did narrow it down to the test case in test-litset.rkt
labelled "litset, #:at"
@ryanc is it a failure in the sense of a rackunit check failing, or an error of some sort? I recently started using syntax parse in rackunit, maybe there’s a circular dependency somewhere?
this expression in that test looks funky: (check-equal? (syntax->datum (getvar lambda #'(lambda b c))))
did that used to syntax error, which was expected, and now it runtime errors?
@notjack: it’s a misbehavior in that racket test-litset.rkt
shows no failure output, but raco test test-litset.rkt
prints “1/3 test failures”
@ryanc looking at tcerr
, I think that test was never run before
@notjack: ah, good point, I missed that…
old implementation of check-equal?
would syntax error when given one argument instead of two, new version makes it a runtime error
and tcerr would catch the syntax error and try to match it against error message patterns, of which there are none for that test
@notjack that seems potentially worrying
@samth I agree. The docs for rackunit never mentioned that checks test their arity during macro expansion though, so it’s at least not a break in documented behavior. But rackunit has a lot of odd undocumented internal behavior.
@notjack since it actually broke something, it seems like maybe that behavior needs to be kept
@samth well, the code in the test case is definitely wrong too, so I don’t think we should hold rackunit to the old behaviour
it’d be cool if we had a versioning system that made it possible to break backwards compatibility
@lexi.lambda don’t get too radical :P
Does the doco really need to explicitly mention checking arity tho? Seems a safe assumption to me unless it says otherwise.
@zenspider checking arity wouldn’t need to be documented. checking arity at compile time using macros probably should be, I’d be really surprised if a library provided “functions” that did that without mentioning it
Thanks @notjack, that explains the rackunit issue; I’ll change the test case. Unfortunately, fixing the test case made me realize literal sets with #:at
aren’t working the way I expected, so I’ve got to think harder about that before I commit a fix.
glad to help, and happy to hear the rackunit changes didn’t explode everything