r174640 - Testcase for r174477.

David Blaikie dblaikie at gmail.com
Thu Feb 7 11:34:57 PST 2013


On Thu, Feb 7, 2013 at 11:29 AM, Jordan Rose <jordan_rose at apple.com> wrote:
>
> On Feb 7, 2013, at 11:02 , Chad Rosier <mcrosier at apple.com> wrote:
>
>>
>> On Feb 7, 2013, at 10:57 AM, David Blaikie <dblaikie at gmail.com> wrote:
>>
>>> On Thu, Feb 7, 2013 at 10:49 AM, Chad Rosier <mcrosier at apple.com> wrote:
>>>>
>>>> On Feb 7, 2013, at 10:39 AM, David Blaikie <dblaikie at gmail.com> wrote:
>>>>
>>>>> On Thu, Feb 7, 2013 at 10:32 AM, Chad Rosier <mcrosier at apple.com> wrote:
>>>>>> Author: mcrosier
>>>>>> Date: Thu Feb  7 12:32:25 2013
>>>>>> New Revision: 174640
>>>>>>
>>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=174640&view=rev
>>>>>> Log:
>>>>>> Testcase for r174477.
>>>>>>
>>>>>> Added:
>>>>>>  cfe/trunk/test/Sema/invalid-cast.cpp
>>>>>>
>>>>>> Added: cfe/trunk/test/Sema/invalid-cast.cpp
>>>>>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/invalid-cast.cpp?rev=174640&view=auto
>>>>>> ==============================================================================
>>>>>> --- cfe/trunk/test/Sema/invalid-cast.cpp (added)
>>>>>> +++ cfe/trunk/test/Sema/invalid-cast.cpp Thu Feb  7 12:32:25 2013
>>>>>> @@ -0,0 +1,11 @@
>>>>>> +// RUN: %clang_cc1 -verify -fsyntax-only %s
>>>>>> +// expected-no-diagnostics
>>>>>> +// <rdar://problem/13153516> - This previously triggered an assertion failure.
>>>>>
>>>>> Requires: Asserts ?
>>>>
>>>> I saw similar test cases that were checking things that perviously asserted, but didn't require an assert build.  I don't think it is necessary, but I also don't object to adding it.
>>>
>>> Yeah, no actually strong opinion either - not sure if it's cheaper for
>>> the infrastructure to check the requirement & not run the test than to
>>> just run it anyway... probably slightly cheaper to exclude it on
>>> non-assert builds, but *shrug*
>>
>> Haha.. Ok, I'll just leave it as is.  Thanks, David.
>
> FWIW I'd prefer to have assertion failure tests still run in -Asserts builds. A crash is also a useful build result. (This is the sort of thing that happens when useful work is accidentally done within the call to assert().)

Sure, but there's no guarantee that violating the invariant would lead
to a crash/test failure. The idea is that running this test on a
non-assert build doesn't necessarily provide confidence that the bug
is fixed. Adding "Requires: asserts" documents the fact that this test
is only intended to catch the bug under an asserts build.

A little bit "test theory" rather than terribly important/pragmatic, though.

- David



More information about the cfe-commits mailing list