| #! /bin/bash |
| # FS QA Test No. 437 |
| # |
| # find-api-violations test |
| # |
| # The purpose of this test is ensure that the xfsprogs programs use the |
| # libxfs_ symbols (in libxfs-api-defs.h) instead of raw xfs_ functions. |
| # This is for the maintainers; it's not a functionality test. |
| # |
| #----------------------------------------------------------------------- |
| # Copyright (c) 2018 Oracle, Inc. |
| # |
| # This program is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU General Public License as |
| # published by the Free Software Foundation. |
| # |
| # This program is distributed in the hope that it would be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program; if not, write the Free Software Foundation, |
| # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| # |
| #----------------------------------------------------------------------- |
| # |
| |
| seq=`basename $0` |
| seqres=$RESULT_DIR/$seq |
| echo "QA output created by $seq" |
| |
| here=`pwd` |
| tmp=/tmp/$$ |
| status=1 # failure is the default! |
| trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 |
| |
| # get standard environment, filters and checks |
| . ./common/rc |
| . ./common/filter |
| |
| [ -z "$WORKAREA" ] && \ |
| _notrun "Can't run find-api-violations.sh without WORKAREA set" |
| [ -f "$WORKAREA/tools/find-api-violations.sh" ] || \ |
| _notrun "Can't find find-api-violations.sh tool under \"$WORKAREA\"" |
| |
| echo "Silence is golden." |
| |
| # Look for API usage problems. Old versions of the script have an improperly |
| # specified grep pattern that is mistaken for a (broken) range specifier in |
| # LC_ALL=C, so use English instead. |
| (cd "$WORKAREA" ; LC_ALL="en_US.UTF-8" bash ./tools/find-api-violations.sh ) | tee -a $seqres.full |
| |
| # success, all done |
| status=0 |
| exit |