On Thu, Feb 7, 2013 at 11:29 AM, Jordan Rose <[email protected]> wrote: > > On Feb 7, 2013, at 11:02 , Chad Rosier <[email protected]> wrote: > >> >> On Feb 7, 2013, at 10:57 AM, David Blaikie <[email protected]> wrote: >> >>> On Thu, Feb 7, 2013 at 10:49 AM, Chad Rosier <[email protected]> wrote: >>>> >>>> On Feb 7, 2013, at 10:39 AM, David Blaikie <[email protected]> wrote: >>>> >>>>> On Thu, Feb 7, 2013 at 10:32 AM, Chad Rosier <[email protected]> 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 _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
