| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 | 2 |
| 3 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 # This script can be used by waterfall sheriffs to fetch the status | 7 # This script can be used by waterfall sheriffs to fetch the status |
| 8 # of Valgrind bots on the memory waterfall and test if their local | 8 # of Valgrind bots on the memory waterfall and test if their local |
| 9 # suppressions match the reports on the waterfall. | 9 # suppressions match the reports on the waterfall. |
| 10 | 10 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 # TODO(timurrrr): OTOH, we won't be able to check | 68 # TODO(timurrrr): OTOH, we won't be able to check |
| 69 # if some suppression is not used anymore. | 69 # if some suppression is not used anymore. |
| 70 LIST_OF_BUILDS=$(grep "rev.*<a href=\"\.\./builders/.*/builds/[0-9]\+" \ | 70 LIST_OF_BUILDS=$(grep "rev.*<a href=\"\.\./builders/.*/builds/[0-9]\+" \ |
| 71 "$LOGS_DIR/slave_$S" | head -n 2 | \ | 71 "$LOGS_DIR/slave_$S" | head -n 2 | \ |
| 72 grep "failed" | grep -v "failed compile" | \ | 72 grep "failed" | grep -v "failed compile" | \ |
| 73 sed "s/.*\/builds\///" | sed "s/\".*//") | 73 sed "s/.*\/builds\///" | sed "s/\".*//") |
| 74 | 74 |
| 75 for BUILD in $LIST_OF_BUILDS | 75 for BUILD in $LIST_OF_BUILDS |
| 76 do | 76 do |
| 77 # We'll fetch a few tiny URLs now, let's use a temp file. | 77 # We'll fetch a few tiny URLs now, let's use a temp file. |
| 78 TMPFILE=$(mktemp) | 78 TMPFILE=$(mktemp -t memory_waterfall.XXXXXX) |
| 79 download $SLAVE_URL/builds/$BUILD "$TMPFILE" | 79 download $SLAVE_URL/builds/$BUILD "$TMPFILE" |
| 80 | 80 |
| 81 REPORT_FILE="$LOGS_DIR/report_${S}_${BUILD}" | 81 REPORT_FILE="$LOGS_DIR/report_${S}_${BUILD}" |
| 82 rm -f $REPORT_FILE 2>/dev/null || true # make sure it doesn't exist | 82 rm -f $REPORT_FILE 2>/dev/null || true # make sure it doesn't exist |
| 83 | 83 |
| 84 REPORT_URLS=$(grep -o "[0-9]\+/steps/memory.*/logs/[0-9A-F]\{16\}" \ | 84 REPORT_URLS=$(grep -o "[0-9]\+/steps/memory.*/logs/[0-9A-F]\{16\}" \ |
| 85 "$TMPFILE" || true) # `true` is to succeed on empty output | 85 "$TMPFILE" || true) # `true` is to succeed on empty output |
| 86 FAILED_TESTS=$(grep -o "[0-9]\+/steps/memory.*/logs/[A-Za-z0-9.]\+" \ | 86 FAILED_TESTS=$(grep -o "[0-9]\+/steps/memory.*/logs/[A-Za-z0-9.]\+" \ |
| 87 "$TMPFILE" | grep -v "[0-9A-F]\{16\}" | grep -v "stdio" \ | 87 "$TMPFILE" | grep -v "[0-9A-F]\{16\}" | grep -v "stdio" \ |
| 88 || true) | 88 || true) |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 find_blame "$2" "$3" "$4" | 254 find_blame "$2" "$3" "$4" |
| 255 else | 255 else |
| 256 THISNAME=$(basename "${0}") | 256 THISNAME=$(basename "${0}") |
| 257 echo "Usage: $THISNAME fetch|match|blame <builder> <test> <hash>" | 257 echo "Usage: $THISNAME fetch|match|blame <builder> <test> <hash>" |
| 258 echo " fetch - Fetch Valgrind logs from the memory waterfall" | 258 echo " fetch - Fetch Valgrind logs from the memory waterfall" |
| 259 echo " match - Test the local suppression files against the downloaded logs" | 259 echo " match - Test the local suppression files against the downloaded logs" |
| 260 echo " blame - Return the blame list for the revision where the suppression" | 260 echo " blame - Return the blame list for the revision where the suppression" |
| 261 echo " <hash> occured for the first time in the log for <test> on" | 261 echo " <hash> occured for the first time in the log for <test> on" |
| 262 echo " <builder>" | 262 echo " <builder>" |
| 263 fi | 263 fi |
| OLD | NEW |