ropensci / unconf17

Website for 2017 rOpenSci Unconf
http://unconf17.ropensci.org
64 stars 12 forks source link

generate reproducible bug reports #60

Closed thibautjombart closed 7 years ago

thibautjombart commented 7 years ago

Disclaimer: I'm totally naive to this, and it looks like some great things have been done already.

The idea is to generate a reproducible bug to post to your favourite public place (github issue, stack overflow, ...). Something along the lines as:

start_bug_capture()
[buggy code]
stop_bug_capture()

for reporting and:

load_bug("path_to_bug_capture")

to recreate the bug.

@richfitz pointed me to @jennybc 's reprex, which itself points to formatR, which seems to take care of the code writing bit and probably more.

I guess here we may want do add:

Cons I can think of:

jshoyer commented 7 years ago

There is some related discussion on the 'First Timer Only Issues' thread (47), including a comment that supporting the 'Overkill' con point. Cf. the comment immediately above that one.

jennybc commented 7 years ago

@thibautjombart These ideas got hashed through a lot in some of reprex's closed issues, e.g. https://github.com/jennybc/reprex/issues/7:

with the conclusion being that it's quite hard to do the above, esp. given the alternative of user simply writing an actual reprex: state your packages and make your objects. I decided it was actually healthy for reprex to play pretty dumb on these points. If packages and objects are captured automagically, how do you know they are in fact the minimal set needed to reproduce the problem? If a human has to check that, why not include the necessary code in the reprex?

But it sounds like you might have some bigger target in mind, if you're considering a docker image and actually installing packages to a temporary library. reprex is aimed at a garden variety GitHub issue, SO Q or A, or a quick Slack post.

thibautjombart commented 7 years ago

@jshoyer thanks for the pointer. @jennybc thanks for the feedback. Makes sense. Sounds like the docker bit is overkill, and the few people who might need it could probably just sort it out on the fly anyway.