[racket-dev] should package "X" imply package "X-test"?

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Wed Oct 16 07:55:21 EDT 2013

It seems like a common thing to have a "make test" that comes with various
software packages out the "in the wild". Judging from the traffic on the
gambit list, their version seems to get used, too. I'm not sure if you'd
classify gambit's 'make test' as something that would be in the test
package, tho. A conscientious user might run the test suite (if it were
written by a conscientious owner who made it easily push-button) before
submitting a bug report just to see if there were something interesting to
report along with the bug report.

I guess I still don't actually have a strong opinion, but if we don't go
this direction, it would be nice to have a positive rationale for why we
suggest leaving this particular piece out of "X". I can clearly see a
strong reason to leave parts out of "X-lib" for minimizing dependencies,
but that ship has sailed if we are including "X-doc" in "X".

Robby


On Tue, Oct 15, 2013 at 11:00 PM, Neil Toronto <neil.toronto at gmail.com>wrote:

> On 10/15/2013 06:40 PM, Robby Findler wrote:
>
>> Actually, on second thought, I think I'm going to buck the trend here
>> and answer "yes" to the question in the subject line.
>>
>> Two scenarios come to mind: someone hears about some cool new library
>> and then does something like 'raco pkg install math'. Next thing,
>> something goes wrong and they ask about it on a mailing list and get the
>> response "Run this code: (require ...)" which ends up running something
>> from the test suite of that library [1]. In that case, we'd probably
>> like them to have everything related to the library.
>>
>> Second: someone decides to build a library that depends on the, say, the
>> math library and they have to choose what to put in their info.rkt file.
>> They don't want to put math no matter if it includes the tests or not,
>> since they don't to force their clients to install the docs. So they'll
>> put math-lib.
>>
>> In other words, I don't see a lot of value in a pkg name taken up for
>> the lib+docs subset of some (conceptual) pile of code, but I do see
>> value in the "everything" pile and the "non-docs non-tests" pile. So I'd
>> say that the name "X" (from the subject) should mean everything.
>>
>> ... at least for a library. For an app, I'm less clear.
>>
>> Robby
>>
>>
>> [1] this actually happened recently as you probably recall (altho
>> 'test-floating-point' may not be in the math-test pkg)
>>
>> http://lists.racket-lang.org/**users/archive/2013-October/**059881.html<http://lists.racket-lang.org/users/archive/2013-October/059881.html>
>>
>
> Right. It's in "math-lib" (the `math/utils' module) because it's useful
> outside of automated testing. Users can run it to find out how reliable and
> repeatable their floating-point results are on a given system.
>
> The rest of the math library tests are more or less system-agnostic.
> (There's a custodian shutdown test for unloading `math/bigfloat' that I
> think may be good to test on multiple platforms, but that's more of an
> automation thing.) I can't imagine asking a user to run them, and if I did,
> I wouldn't mind asking them to install an extra package first.
>
> Are there any other circumstances, besides a package owner asking, that a
> user would want to run all the tests for a package?
>
> Neil ⊥
>
>
> _________________________
>  Racket Developers list:
>  http://lists.racket-lang.org/**dev <http://lists.racket-lang.org/dev>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20131016/05ef1fa9/attachment-0001.html>

Posted on the dev mailing list.