DEF=-DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1
INCL="-Isource/common -Isource/i18n -Isource/io"
TMPDIR=`mktemp -d`
DIFF="diff -u --minimal"
echo "*** testtagsguards.sh TMPDIR=$TMPDIR"
for file in source/common/unicode/*.h source/i18n/unicode/*.h source/io/unicode/*.h ; do
base=`basename $file`
echo $file
echo ' clang++ $INCL -C -E $DEF -o $TMPDIR/ht-$base-normal.i $TMPDIR/ht-$base.cpp
TAG=draft
GUARD=DRAFT
echo " @$TAG"
clang++ $INCL -C -E -DU_HIDE_${GUARD}_API=1 -DU_FORCE_HIDE_${GUARD}_API=1 $DEF -o $TMPDIR/ht-$base-$TAG.i $TMPDIR/ht-$base.cpp
if grep "@$TAG" -C 5 $TMPDIR/ht-$base-$TAG.i; then
echo "*** error: @$TAG not hidden in $TMPDIR/ht-$base-$TAG.i"
exit 1
fi
$DIFF $TMPDIR/ht-$base-normal.i $TMPDIR/ht-$base-$TAG.i > $TMPDIR/ht-$base-normal-$TAG.txt
if egrep '^-.*@(stable|deprecated)' -C 5 $TMPDIR/ht-$base-normal-$TAG.txt; then
echo "*** error: Non-@$TAG hidden in $TMPDIR/ht-$base-$TAG.i see $TMPDIR/ht-$base-normal-$TAG.txt"
cat $TMPDIR/ht-$base-normal-$TAG.txt
exit 1
fi
TAG=deprecated
GUARD=DEPRECATED
echo " @$TAG"
clang++ $INCL -C -E -DU_HIDE_${GUARD}_API=1 -DU_FORCE_HIDE_${GUARD}_API=1 $DEF -o $TMPDIR/ht-$base-$TAG.i $TMPDIR/ht-$base.cpp
if grep "@$TAG" -C 5 $TMPDIR/ht-$base-$TAG.i; then
echo "*** error: @$TAG not hidden in $TMPDIR/ht-$base-$TAG.i"
exit 1
fi
$DIFF $TMPDIR/ht-$base-normal.i $TMPDIR/ht-$base-$TAG.i > $TMPDIR/ht-$base-normal-$TAG.txt
if egrep '^-.*@(stable|draft)' -C 5 $TMPDIR/ht-$base-normal-$TAG.txt; then
echo "*** error: Non-@$TAG hidden in $TMPDIR/ht-$base-$TAG.i see $TMPDIR/ht-$base-normal-$TAG.txt"
cat $TMPDIR/ht-$base-normal-$TAG.txt
exit 1
fi
TAG=system
GUARD=SYSTEM
echo " @$TAG"
clang++ $INCL -C -E -DU_HIDE_${GUARD}_API=1 -DU_FORCE_HIDE_${GUARD}_API=1 $DEF -o $TMPDIR/ht-$base-$TAG.i $TMPDIR/ht-$base.cpp
if grep "@$TAG" -C 5 $TMPDIR/ht-$base-$TAG.i; then
echo "*** error: @$TAG not hidden in $TMPDIR/ht-$base-$TAG.i"
exit 1
fi
TAG=obsolete
GUARD=OBSOLETE
echo " @$TAG"
clang++ $INCL -C -E -DU_HIDE_${GUARD}_API=1 -DU_FORCE_HIDE_${GUARD}_API=1 $DEF -o $TMPDIR/ht-$base-$TAG.i $TMPDIR/ht-$base.cpp
if grep "@$TAG" -C 5 $TMPDIR/ht-$base-$TAG.i; then
echo "*** error: @$TAG not hidden in $TMPDIR/ht-$base-$TAG.i"
exit 1
fi
$DIFF $TMPDIR/ht-$base-normal.i $TMPDIR/ht-$base-$TAG.i > $TMPDIR/ht-$base-normal-$TAG.txt
if egrep '^-.*@(stable|draft|deprecated)' -C 5 $TMPDIR/ht-$base-normal-$TAG.txt; then
echo "*** error: Non-@$TAG hidden in $TMPDIR/ht-$base-$TAG.i see $TMPDIR/ht-$base-normal-$TAG.txt"
cat $TMPDIR/ht-$base-normal-$TAG.txt
exit 1
fi
done
echo "pass"
rm -rf $TMPDIR