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 |