ricci
2017-5-16 16:52:27

@ricci has joined the channel


leif
2017-5-16 18:09:58

@mflatt @samth @stamourv @robby or someone else with admin privileges, gleb seems like a spam bot. (If you are a real person I apologize.)


samth
2017-5-16 18:10:34

@leif I don’t think we need to do anything unless someone spams multiple times


leif
2017-5-16 18:10:47

@samth okay


robby
2017-5-16 18:11:17

I don’t think I have any admin privileges.


leif
2017-5-16 18:11:31

@robby Oops, sorry.


leif
2017-5-16 18:11:58

Ya, I don’t know who manages this slack instance, only the #racket irc channel.


samth
2017-5-16 18:18:31

@leif I think I’m the person to talk to, or @jsyeo


leif
2017-5-16 18:21:06

Alright, good to know for future reference, thanks.


jamesswaine
2017-5-16 19:08:33

does raco test support just running a single test within a module?


jeapostrophe
2017-5-16 19:36:12

jamesswaine: It doesn’t know anything about the tests in the module. It just runs the test submodule. It might be possible to use the same code that counts the number of tests to quit after a certain number of them


jamesswaine
2017-5-16 19:43:32

ah okay, bummer, i sort of figured


jamesswaine
2017-5-16 19:44:20

yeah i was looking for something like what rspec gives you (ruby testing framework), where you can run a specific test in a suite by giving either a name or source line number on the command line


robby
2017-5-16 20:13:40

@jamesswaine that would be super useful, I agree. Right now the pipe of information isn’t very rich, but there is one, so it could probably be extended. This is the current library: https://github.com/racket/rackunit/blob/master/testing-util-lib/rackunit/log.rkt


robby
2017-5-16 20:14:40

I imagine that someone could add something to say “I am interested only in tests with this name” or “on this line in this file” and then rackunit could look there and raco test could initialize it.


robby
2017-5-16 20:17:25

(not that that’d be high on your priority list, of course :wink: )


jamesswaine
2017-5-16 20:33:05

haha, well, i’ve been wanting that forever so


notjack
2017-5-16 20:38:57

@georges-duperon The highlighting change you proposed is super neat and makes me wonder if you could combine scribble/lp with cover usefully


samth
2017-5-16 21:18:03

@jamesswaine I’ve found various command line forms like that very useful in python, so consider this another vote :wink:


thinkmoore
2017-5-16 21:25:59

raco setup take forever…. and mostly on scribbling docs it seems like? has anyone looked at where the bottlenecks are in that process?


thinkmoore
2017-5-16 21:26:46

>1GB of RAM for raco setup also seems a bit surprising.


samth
2017-5-16 21:29:22

@thinkmoore a lot of it is typed racket + plot



notjack
2017-5-16 23:21:14

@samth what specific part of typed racket causes the speed issues? Is it some weird artifact of how typed racket is implemented or is the type checking process itself just that expensive?


samth
2017-5-16 23:21:47

we believe that the type checking process is expensive


lexi.lambda
2017-5-16 23:22:13

I eagerly await absolutely abysmal Hackett compile-times


jeapostrophe
2017-5-17 00:20:35

@jamesswainer @samth @robby - I think that raco test could do something like “raco test args files — more” and when it ran an individual test submodule, it could make “more” be (current-command-line-arguments) then we could change rackunit, chk. eli-tester, and other popular testing libraries to look at those arguments to determine whether to run


jeapostrophe
2017-5-17 00:20:35

a test. For example, if it was empty, then they’d run everything, otherwise they’d consider it a set of tags to run, etc


georges-duperon
2017-5-17 00:23:33

@notjack thanks :slightly_smiling_face: . I added the highlighting stuff to http://docs.racket-lang.org/hyper-literate/ (online docs are not up-to-date yet). The highlighting form @hlite[name pat . code] works like @chunk[name . code], but also expects a pattern. The pattern indicates which portions of the code should be highlighted as added/removed/dimmed/normal, so e.g. {+ _ _ - _} will highlight the first two expressions in green and the third in red (patterns can be more complex than that, and I hope to add support for syntax/parse-like syntax {a:+ b:+ c:-} soon, as it is more readable for complex patterns. So I think it should be reasonably easy to generate the pattern from the coverage information, but we would have to add line numbers to hlite first, though — don’t hold your breath, it won’t happen overnight :slightly_smiling_face:.


robby
2017-5-17 00:27:23

It seems reasonable to consider a more general solution but there is something to be said (both error messagewise and human convenience wise) for a shorter command line. Maybe we can solve that with some specific shorthands, starting from the ruby experience that @jamesswaine enjoyed?


samth
2017-5-17 00:33:48

From my pytest experience, the shorthand I used most was ’-k foo’ which ran every test whose name included foo


robby
2017-5-17 00:45:59

I am often copying a single test out and running it over and over as I work towards a fix for a bug, and generally in tests suites where I didn’t bother to name the tests (like the thousands of tests in the contract system), so an option that took a line number would be great for me.


samth
2017-5-17 02:40:00

Right, I agree that the exact same thing wouldn’t be as effective in Racket


samth
2017-5-17 02:40:16

Just documenting my experience


samth
2017-5-17 02:40:42

The other option I used a lot was “stop on first failure”