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

From: Neil Toronto (neil.toronto at gmail.com)
Date: Wed Oct 16 00:00:19 EDT 2013

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

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 ⊥


Posted on the dev mailing list.