github.com/westcoastroms/westcoastroms-build@v0.0.0-20190928114312-2350e5a73030/build/kati/testcase/segfault_stack_overflow.sh (about)

     1  #!/bin/bash
     2  #
     3  # Copyright 2017 Google Inc. All rights reserved
     4  #
     5  # Licensed under the Apache License, Version 2.0 (the "License");
     6  # you may not use this file except in compliance with the License.
     7  # You may obtain a copy of the License at
     8  #
     9  #      http:#www.apache.org/licenses/LICENSE-2.0
    10  #
    11  # Unless required by applicable law or agreed to in writing, software
    12  # distributed under the License is distributed on an "AS IS" BASIS,
    13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  # See the License for the specific language governing permissions and
    15  # limitations under the License.
    16  
    17  set -u
    18  
    19  mk="$@"
    20  
    21  cat <<EOF > Makefile
    22  a = \$(a) \$(a) \$(a) \$(a)
    23  \$(a)
    24  EOF
    25  
    26  if echo "${mk}" | grep -qv "kati"; then
    27    # Make detects this differently
    28    echo 'Segmentation fault, last evaluated line was Makefile:2'
    29  else
    30    # runtest.rb strips *kati*: lines, so strip that prefix to test
    31    # Grab only *kati* lines, since asan may print a backtrace
    32    ${mk} 2>&1 | grep "*kati*" | sed "s/^\*kati\*: //"
    33  fi