Suggested policy: use declarative names for tests instead of increasing integers

Greg Weber greg at gregweber.info
Tue Dec 18 17:16:44 CET 2012


The 2 approaches are not mutually exclusive.

 ticket#_description.hs
 tc12345_GADT.hs


On Tue, Dec 18, 2012 at 6:22 AM, Simon Marlow <marlowsd at gmail.com> wrote:

> On 18/12/12 12:33, Roman Cheplyaka wrote:
>
>> * Simon Peyton-Jones <simonpj at microsoft.com> [2012-12-18 10:32:39+0000]
>>
>>> (This belongs on cvs-ghc, or the upcoming ghc-devs.)
>>>
>>> | I find our tests to be quite hard to navigate, as the majority have
>>> | names like tc12345.hs or some such. I suggest we instead use
>>> descriptive
>>> | names like GADT.hs or PrimOps.hs instead. What do people think?
>>>
>>> We've really moved to a naming convention connected to tickets. Thus
>>> test T7490 is a test for Trac ticket #7490.  This is fantastic.  It
>>> eliminates the need for elaborate comments in the test to say what is being
>>> tested... just look at the ticket.
>>>
>>> The old serially number tests tc032 etc are history.
>>>
>>> If there isn't a corresponding ticket, it'd be a good idea to create one.
>>>
>>> Increasingly we refer to tickets in source-code comments.  They are
>>> incredibly valuable resource to give the detail of what went wrong.
>>>
>>> OK?  We should document this convention somewhere.
>>>
>>
>> It is sort of documented at http://hackage.haskell.org/**
>> trac/ghc/wiki/Building/**RunningTests/Adding<http://hackage.haskell.org/trac/ghc/wiki/Building/RunningTests/Adding>
>>
>>    Having found a suitable place for the test case, give the test case a
>>    name. For regression test cases, we often just name the test case
>>    after the bug number (e.g. T2047). Alternatively, follow the
>>    convention for the directory in which you place the test case: for
>>    example, in typecheck/should_compile, test cases are named tc001,
>>    tc002, and so on.
>>
>> But I wonder what if one wants to create a test preventively (say, for a
>> new feature), and there isn't actually any bug to create a ticket for?
>>
>
> It wouldn't hurt to be more descriptive with test names than we are
> currently in e.g. codeGen and typechecker.  Some parts of the testsuite are
> better, e.g. see libraries/base/tests where the tests are named after the
> function being tested (sort of), or in codeGen/should_run_asm:
>
> test('memcpy',
>      unless_platform('x86_64-**unknown-linux',skip), compile_cmp_asm,
> [''])
> test('memcpy-unroll',
>      unless_platform('x86_64-**unknown-linux',skip), compile_cmp_asm,
> [''])
> test('memcpy-unroll-conprop',
>      unless_platform('x86_64-**unknown-linux',skip), compile_cmp_asm,
> [''])
>
> ticket numbers are good names for regression tests, but for other tests
> more descriptive names would help. There isn't always a good name for a
> test, but often there is.
>
> Cheers,
>         Simon
>
>
>
> ______________________________**_________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.**org <Glasgow-haskell-users at haskell.org>
> http://www.haskell.org/**mailman/listinfo/glasgow-**haskell-users<http://www.haskell.org/mailman/listinfo/glasgow-haskell-users>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20121218/260c7553/attachment-0001.htm>


More information about the Glasgow-haskell-users mailing list