On Tue, Apr 3, 2018 at 12:56 PM, Jason Merrill <[email protected]> wrote:
> On Mon, Mar 26, 2018 at 4:01 PM, Jason Merrill <[email protected]> wrote:
>>
>> On Mon, Mar 26, 2018 at 2:55 PM, Andreas Schwab <[email protected]>
>> wrote:
>> > On Mär 26 2018, Jakub Jelinek <[email protected]> wrote:
>> >> On Mon, Mar 26, 2018 at 08:33:41PM +0200, Andreas Schwab wrote:
>> >>> On Mär 26 2018, Jason Merrill <[email protected]> wrote:
>> >>>
>> >>> > if [catch {exec sh ulimit -v} ulimit_v] {
>> >>>
>> >>> expect1.1> exec sh ulimit -v
>> >>> sh: ulimit: No such file or directory
>> >>> while executing
>> >>> "exec sh ulimit -v"
>> >>
>> >> Perhaps
>> >> if [catch {exec sh -c ulimit -v} ulimit_v] {
>> >
>> > expect1.1> exec sh -c ulimit -v
>> > unlimited
>> > expect1.2> exec sh -c {ulimit -v}
>> > 4194304
>>
>> OK, so
>>
>> if ![is_remote target] {
>> if [catch {exec sh -c "ulimit -v"} ulimit_v] {
>> # failed to get ulimit
>> } elseif [regexp {^[0-9]+$} $ulimit_v] {
>> # ulimit -v gave a numeric limit
>> return
>> }
>> }
>
>
> This version adds a warning. OK for trunk?
commit 4ef44677627206e8ccc097a3dc3c411f6c4baece
Author: Jason Merrill <[email protected]>
Date: Fri Mar 23 11:14:50 2018 -0400
* gcc.dg/asan/asan.exp: Don't run tests if ulimit -v is set.
* g++.dg/asan/asan.exp: Likewise.
diff --git a/gcc/testsuite/g++.dg/asan/asan.exp b/gcc/testsuite/g++.dg/asan/asan.exp
index 4ee8dd98697..5663ac6b635 100644
--- a/gcc/testsuite/g++.dg/asan/asan.exp
+++ b/gcc/testsuite/g++.dg/asan/asan.exp
@@ -24,6 +24,17 @@ 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 [catch {exec sh -c "ulimit -v"} ulimit_v] {
+ # failed to get ulimit
+ } elseif [regexp {^[0-9]+$} $ulimit_v] {
+ # ulimit -v gave a numeric limit
+ warning "skipping asan tests due to ulimit -v"
+ return
+ }
+}
+
# Main loop.
if [check_effective_target_fsanitize_address] {
gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.C $srcdir/c-c++-common/asan/*.c]] "" ""
diff --git a/gcc/testsuite/gcc.dg/asan/asan.exp b/gcc/testsuite/gcc.dg/asan/asan.exp
index 7b669056a97..11135765911 100644
--- a/gcc/testsuite/gcc.dg/asan/asan.exp
+++ b/gcc/testsuite/gcc.dg/asan/asan.exp
@@ -26,6 +26,17 @@ 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 [catch {exec sh -c "ulimit -v"} ulimit_v] {
+ # failed to get ulimit
+ } elseif [regexp {^[0-9]+$} $ulimit_v] {
+ # ulimit -v gave a numeric limit
+ warning "skipping asan tests due to ulimit -v"
+ return
+ }
+}
+
# Main loop.
if [check_effective_target_fsanitize_address] {
gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.c $srcdir/c-c++-common/asan/*.c]] "" ""