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

     1  #!/bin/sh
     2  #
     3  # Copyright 2016 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 -e
    18  
    19  log=/tmp/log
    20  mk="$@"
    21  
    22  sleep_if_necessary() {
    23    if [ x$(uname) != x"Linux" -o x"${TRAVIS}" != x"" ]; then
    24      sleep "$@"
    25    fi
    26  }
    27  
    28  cat <<EOF > Makefile
    29  A := \$(file <file_a)
    30  all:
    31  	echo foo
    32  EOF
    33  
    34  ${mk} 2> ${log}
    35  if [ -e ninja.sh ]; then
    36    ./ninja.sh
    37  fi
    38  
    39  ${mk} 2> ${log}
    40  if [ -e ninja.sh ]; then
    41    if grep regenerating ${log}; then
    42      echo 'Should not be regenerated'
    43    fi
    44    ./ninja.sh
    45  fi
    46  
    47  echo regen >file_a
    48  
    49  ${mk} 2> ${log}
    50  if [ -e ninja.sh ]; then
    51    if ! grep regenerating ${log} >/dev/null; then
    52      echo 'Should be regenerated'
    53    fi
    54    ./ninja.sh
    55  fi
    56  
    57  ${mk} 2> ${log}
    58  if [ -e ninja.sh ]; then
    59    if grep regenerating ${log}; then
    60      echo 'Should not be regenerated'
    61    fi
    62    ./ninja.sh
    63  fi
    64  
    65  sleep_if_necessary 1
    66  echo regen >>file_a
    67  
    68  ${mk} 2> ${log}
    69  if [ -e ninja.sh ]; then
    70    if ! grep regenerating ${log} >/dev/null; then
    71      echo 'Should be regenerated'
    72    fi
    73    ./ninja.sh
    74  fi