spot/src/sanity/80columns.test
Alexandre Duret-Lutz e4abcfddfc Add missing copyright blurbs to sanity tests.
* src/sanity/80columns.test, src/sanity/includes.test,
src/sanity/private.test, src/sanity/style.test: Here.
2013-07-29 01:14:36 +02:00

68 lines
1.9 KiB
Bash
Executable file

#! /bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2012 Laboratoire de Recherche et Développement de
# l'Epita (LRDE).
# Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6
# (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
# Pierre et Marie Curie.
#
# This file is part of Spot, a model checking library.
#
# Spot 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; either version 3 of the License, or
# (at your option) any later version.
#
# Spot is distributed in the hope that it will 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, see <http://www.gnu.org/licenses/>.
# Check that all files use at most 80 columns.
set -e
rm -f failures
LANG=en_US.UTF-8
export LANG
if [ "`echo '{r₁|r₂|r₃}' | wc -m`" != 11 ]; then
LANG=C
export LANG
# The current locale does not grok unicode.
# We still run this test, but only on lines that are purely ascii.
x='[^ -~]' # This blank is a tab.
else
x='.'
fi
x="$x$x$x$x$x$x$x$x$x" # 9x
x="$x$x$x$x$x$x$x$x$x" # 81x
for dir in "${INCDIR-..}" "${INCDIR-..}"/../iface; do
find "$dir" \( -name "${1-*}.hh" \
-o -name "${1-*}.hxx" \
-o -name "${1-*}.cc" \
-o -name "${1-*}.test" \) -a -type f -a -print |
while read file; do
if (expand $file | grep -q $x) 2>/dev/null; then
if grep 'GNU Bison' "$file" >/dev/null ||
grep 'generated by flex' "$file" >/dev/null ; then
:
else
echo "$file" >>failures
fi
fi
done
done
if test -f failures; then
echo "The following files contain lines with more than 80 characters:"
cat failures
rm failures
exit 1;
fi