RFC: Disable asan tests under ulimit -v

Jason Merrill jason@redhat.com
Mon Mar 26 18:26:00 GMT 2018


On Mon, Mar 26, 2018 at 1:31 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> On Mär 26 2018, Jason Merrill <jason@redhat.com> wrote:
>
>> On Sat, Mar 24, 2018 at 4:51 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>>> On Mär 23 2018, Jason Merrill <jason@redhat.com> wrote:
>>>
>>>> diff --git a/gcc/testsuite/g++.dg/asan/asan.exp b/gcc/testsuite/g++.dg/asan/asan.exp
>>>> index 4ee8dd98697..a22d2ac5e20 100644
>>>> --- a/gcc/testsuite/g++.dg/asan/asan.exp
>>>> +++ b/gcc/testsuite/g++.dg/asan/asan.exp
>>>> @@ -24,6 +24,13 @@ load_lib asan-dg.exp
>>>>  dg-init
>>>>  asan_init
>>>>
>>>> +# asan doesn't work if there's a ulimit on virtual memory.
>>>> +if ![is_remote target] {
>>>> +    if [regexp {^[0-9]+$} "[exec ulimit -v]"] {
>>>
>>> Does that actually work?
>>
>> It does for me.
>>
>>> ulimit is a shell builtin, but exec does not use the shell.
>>
>> It's also a separate executable.
>
> Not for me.
>
>>> Also, you get an error if the command returns a non-zero
>>> status, or isn't found.
>>
>> In that case, the result of the exec won't be a string of numbers, so
>> we run the tests.
>
> The error will abort the whole script.

Ah, good point.  How about this?

# asan doesn't work if there's a ulimit on virtual memory.
if ![is_remote target] {
    if [catch {exec sh ulimit -v} ulimit_v] {
        # failed to get ulimit
    } elseif [regexp {^[0-9]+$} $ulimit_v] {
        # ulimit -v gave a numeric limit
        return
    }
}

Jason



More information about the Gcc-patches mailing list