13920fd1187a789905b9b18eed38926e984469064Garrett Cooper#!/usr/bin/awk -f 23920fd1187a789905b9b18eed38926e984469064Garrett Cooper# 33920fd1187a789905b9b18eed38926e984469064Garrett Cooper# Script for adding necessary valgrind calls before commands. 43920fd1187a789905b9b18eed38926e984469064Garrett Cooper# 53920fd1187a789905b9b18eed38926e984469064Garrett Cooper# Copyright (C) 2012, Linux Test Project. 63920fd1187a789905b9b18eed38926e984469064Garrett Cooper# 73920fd1187a789905b9b18eed38926e984469064Garrett Cooper# This program is free software; you can redistribute it and/or modify 83920fd1187a789905b9b18eed38926e984469064Garrett Cooper# it under the terms of the GNU General Public License as published by 93920fd1187a789905b9b18eed38926e984469064Garrett Cooper# the Free Software Foundation; either version 2 of the License, or 103920fd1187a789905b9b18eed38926e984469064Garrett Cooper# (at your option) any later version. 113920fd1187a789905b9b18eed38926e984469064Garrett Cooper# 123920fd1187a789905b9b18eed38926e984469064Garrett Cooper# This program is distributed in the hope that it will be useful, 133920fd1187a789905b9b18eed38926e984469064Garrett Cooper# but WITHOUT ANY WARRANTY; without even the implied warranty of 143920fd1187a789905b9b18eed38926e984469064Garrett Cooper# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 153920fd1187a789905b9b18eed38926e984469064Garrett Cooper# GNU General Public License for more details. 163920fd1187a789905b9b18eed38926e984469064Garrett Cooper# 173920fd1187a789905b9b18eed38926e984469064Garrett Cooper# You should have received a copy of the GNU General Public License along 183920fd1187a789905b9b18eed38926e984469064Garrett Cooper# with this program; if not, write to the Free Software Foundation, Inc., 193920fd1187a789905b9b18eed38926e984469064Garrett Cooper# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 203920fd1187a789905b9b18eed38926e984469064Garrett Cooper# 213920fd1187a789905b9b18eed38926e984469064Garrett Cooper# Garrett Cooper, April 2012 223920fd1187a789905b9b18eed38926e984469064Garrett Cooper# 233920fd1187a789905b9b18eed38926e984469064Garrett Cooper 243920fd1187a789905b9b18eed38926e984469064Garrett Cooper# XXX: this script doesn't handle items that would be executed via pan with 253920fd1187a789905b9b18eed38926e984469064Garrett Cooper# /bin/sh properly. 263920fd1187a789905b9b18eed38926e984469064Garrett CooperNF && ! /^#/ { 273920fd1187a789905b9b18eed38926e984469064Garrett Cooper print 283920fd1187a789905b9b18eed38926e984469064Garrett Cooper if (CHECK_LEVEL == 1 || CHECK_LEVEL == 3) { 293920fd1187a789905b9b18eed38926e984469064Garrett Cooper s=$1 "_valgrind_memory_leak_check valgrind -q --leak-check=full --trace-children=yes" 303920fd1187a789905b9b18eed38926e984469064Garrett Cooper for (i = 2; i <= NF; i++) { 313920fd1187a789905b9b18eed38926e984469064Garrett Cooper s = s " " $i 323920fd1187a789905b9b18eed38926e984469064Garrett Cooper } 333920fd1187a789905b9b18eed38926e984469064Garrett Cooper print s 343920fd1187a789905b9b18eed38926e984469064Garrett Cooper } 353920fd1187a789905b9b18eed38926e984469064Garrett Cooper if (CHECK_LEVEL == 2 || CHECK_LEVEL == 3) { 363920fd1187a789905b9b18eed38926e984469064Garrett Cooper s=$1 "_valgrind_thread_concurrency_check valgrind -q --tool=helgrind --trace-children=yes" 373920fd1187a789905b9b18eed38926e984469064Garrett Cooper for (i = 2; i <= NF; i++) { 383920fd1187a789905b9b18eed38926e984469064Garrett Cooper s = s " " $i 393920fd1187a789905b9b18eed38926e984469064Garrett Cooper } 403920fd1187a789905b9b18eed38926e984469064Garrett Cooper print s 413920fd1187a789905b9b18eed38926e984469064Garrett Cooper } 423920fd1187a789905b9b18eed38926e984469064Garrett Cooper} 43