notjack
2017-7-7 18:40:23

Happy branch day! :party:


stamourv
2017-7-7 18:57:33

@notjack: Haven’t gotten to starting the festivities yet. ;)


samth
2017-7-7 19:36:21

@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


stamourv
2017-7-7 19:38:12

samth
2017-7-7 19:39:21

@stamourv that link is to the release branch build


samth
2017-7-7 19:39:50

you can see the history here; it’s passing on master: https://ci.appveyor.com/project/plt/racket/history


stamourv
2017-7-7 19:40:18

Oh, you’re right. I can’t read appveyor’s page.


stamourv
2017-7-7 19:40:45

I guess I wasn’t expecting it to test back from the tip of the branch?


samth
2017-7-7 19:49:53

looks like it failed similarly for the tip of the release branch (see #notifications)


ryanc
2017-7-7 19:54:10

@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:


stamourv
2017-7-7 19:54:50

Heh. :)


stamourv
2017-7-7 19:54:59

@notjack: ^


ryanc
2017-7-7 19:56:01

If anyone else wants to investigate, I did narrow it down to the test case in test-litset.rkt labelled "litset, #:at"


notjack
2017-7-7 19:57:27

@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?


notjack
2017-7-7 19:59:05

this expression in that test looks funky: (check-equal? (syntax->datum (getvar lambda #'(lambda b c))))


notjack
2017-7-7 19:59:56

did that used to syntax error, which was expected, and now it runtime errors?


ryanc
2017-7-7 20:01:19

@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”


notjack
2017-7-7 20:02:26

@ryanc looking at tcerr, I think that test was never run before


ryanc
2017-7-7 20:02:40

@notjack: ah, good point, I missed that…


notjack
2017-7-7 20:02:50

old implementation of check-equal? would syntax error when given one argument instead of two, new version makes it a runtime error


notjack
2017-7-7 20:03:10

and tcerr would catch the syntax error and try to match it against error message patterns, of which there are none for that test


samth
2017-7-7 20:03:12

@notjack that seems potentially worrying


notjack
2017-7-7 20:04:30

@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.


samth
2017-7-7 20:04:58

@notjack since it actually broke something, it seems like maybe that behavior needs to be kept


ryanc
2017-7-7 20:06:23

@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


lexi.lambda
2017-7-7 20:07:08

it’d be cool if we had a versioning system that made it possible to break backwards compatibility


notjack
2017-7-7 20:07:30

@lexi.lambda don’t get too radical :P


zenspider
2017-7-7 20:14:16

Does the doco really need to explicitly mention checking arity tho? Seems a safe assumption to me unless it says otherwise.


notjack
2017-7-7 20:15:19

@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


ryanc
2017-7-7 20:23:56

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.


notjack
2017-7-7 20:26:26

glad to help, and happy to hear the rackunit changes didn’t explode everything