11a5e31fbSPranith Kumar#!/bin/bash 2c87b9c60SPaul E. McKenney# 3c87b9c60SPaul E. McKenney# Check the build output from an rcutorture run for goodness. 4c87b9c60SPaul E. McKenney# The "file" is a pathname on the local system, and "title" is 5c87b9c60SPaul E. McKenney# a text string for error-message purposes. 6c87b9c60SPaul E. McKenney# 7c87b9c60SPaul E. McKenney# The file must contain kernel build output. 8c87b9c60SPaul E. McKenney# 93327d924SPranith Kumar# Usage: parse-build.sh file title 10c87b9c60SPaul E. McKenney# 11c87b9c60SPaul E. McKenney# This program is free software; you can redistribute it and/or modify 12c87b9c60SPaul E. McKenney# it under the terms of the GNU General Public License as published by 13c87b9c60SPaul E. McKenney# the Free Software Foundation; either version 2 of the License, or 14c87b9c60SPaul E. McKenney# (at your option) any later version. 15c87b9c60SPaul E. McKenney# 16c87b9c60SPaul E. McKenney# This program is distributed in the hope that it will be useful, 17c87b9c60SPaul E. McKenney# but WITHOUT ANY WARRANTY; without even the implied warranty of 18c87b9c60SPaul E. McKenney# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19c87b9c60SPaul E. McKenney# GNU General Public License for more details. 20c87b9c60SPaul E. McKenney# 21c87b9c60SPaul E. McKenney# You should have received a copy of the GNU General Public License 220e342a87SPaul E. McKenney# along with this program; if not, you can access it online at 230e342a87SPaul E. McKenney# http://www.gnu.org/licenses/gpl-2.0.html. 24c87b9c60SPaul E. McKenney# 25c87b9c60SPaul E. McKenney# Copyright (C) IBM Corporation, 2011 26c87b9c60SPaul E. McKenney# 27c87b9c60SPaul E. McKenney# Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com> 28c87b9c60SPaul E. McKenney 293b009c0eSPaul E. McKenneyF=$1 30c87b9c60SPaul E. McKenneytitle=$2 313b009c0eSPaul E. McKenneyT=/tmp/parse-build.sh.$$ 323b009c0eSPaul E. McKenneytrap 'rm -rf $T' 0 333b009c0eSPaul E. McKenneymkdir $T 34c87b9c60SPaul E. McKenney 356d40cc0cSPaul E. McKenney. functions.sh 366d40cc0cSPaul E. McKenney 373b009c0eSPaul E. McKenneyif grep -q CC < $F 38c87b9c60SPaul E. McKenneythen 39c87b9c60SPaul E. McKenney : 40c87b9c60SPaul E. McKenneyelse 416d40cc0cSPaul E. McKenney print_bug $title no build 42c87b9c60SPaul E. McKenney exit 1 43c87b9c60SPaul E. McKenneyfi 44c87b9c60SPaul E. McKenney 453b009c0eSPaul E. McKenneyif grep -q "error:" < $F 46c87b9c60SPaul E. McKenneythen 476d40cc0cSPaul E. McKenney print_bug $title build errors: 483b009c0eSPaul E. McKenney grep "error:" < $F 496d40cc0cSPaul E. McKenney exit 2 506d40cc0cSPaul E. McKenneyfi 516d40cc0cSPaul E. McKenney 523b009c0eSPaul E. McKenneygrep warning: < $F > $T/warnings 533b009c0eSPaul E. McKenneygrep "include/linux/*rcu*\.h:" $T/warnings > $T/hwarnings 543b009c0eSPaul E. McKenneygrep "kernel/rcu/[^/]*:" $T/warnings > $T/cwarnings 553b009c0eSPaul E. McKenneycat $T/hwarnings $T/cwarnings > $T/rcuwarnings 563b009c0eSPaul E. McKenneyif test -s $T/rcuwarnings 576d40cc0cSPaul E. McKenneythen 586d40cc0cSPaul E. McKenney print_warning $title build errors: 593b009c0eSPaul E. McKenney cat $T/rcuwarnings 60c87b9c60SPaul E. McKenney exit 2 61c87b9c60SPaul E. McKenneyfi 62c87b9c60SPaul E. McKenneyexit 0 63