# In the rest of this file, tests collect list of errors to be fixed
+echo -n "Checking that git working directory is clean... "
+git_status=`git status --porcelain`
+if [ "$git_status" = '' ]
+then
+ echo Yes.
+else
+ echo No.
+ append_emsg "Git working directory is not clean (git status --porcelain)."
+fi
+unset git_status
+
verfail ()
{
echo No.
echo -n "Checking that '$VERSION' is good with digits and periods... "
case $VERSION in
- *[^0-9.]*)
+ *[!0-9.]*)
verfail "'$VERSION' contains other characters than digits and periods" ;;
.*) verfail "'$VERSION' begins with a period" ;;
*.) verfail "'$VERSION' ends with a period" ;;
*) verfail "'$VERSION' is a single number" ;;
esac
-_set_version_components ()
-{
- VERSION_MAJOR=$1
- VERSION_MINOR=$2
- VERSION_MICRO=${3:-0} # set to 0 in case $3 is unset or "null" (string)
-}
+echo -n "Checking that LIBNOTMUCH version macros & variables match ... "
+# lib/notmuch.h
+LIBNOTMUCH_MAJOR_VERSION=broken
+LIBNOTMUCH_MINOR_VERSION=broken
+LIBNOTMUCH_MICRO_VERSION=broken
+# lib/Makefile.local
+LIBNOTMUCH_VERSION_MAJOR=borken
+LIBNOTMUCH_VERSION_MINOR=borken
+LIBNOTMUCH_VERSION_RELEASE=borken
+
+eval `awk 'NF == 3 && $1 == "#define" && $2 ~ /^LIBNOTMUCH_[A-Z]+_VERSION$/ \
+ && $3 ~ /^[0-9]+$/ { print $2 "=" $3 }' lib/notmuch.h`
-IFS=.
-_set_version_components $VERSION
-IFS=$DEFAULT_IFS
+eval `awk 'NF == 3 && $1 ~ /^LIBNOTMUCH_VERSION_[A-Z]+$/ && $2 == "=" \
+ && $3 ~ /^[0-9]+$/ { print $1 "=" $3 }' lib/Makefile.local`
-echo -n "Checking that libnotmuch version macros match $VERSION... "
-NOTMUCH_MAJOR_VERSION=broken
-NOTMUCH_MINOR_VERSION=broken
-NOTMUCH_MICRO_VERSION=broken
-eval `awk 'NF == 3 && $1 == "#define" && $2 ~ /^NOTMUCH_[A-Z]+_VERSION$/ \
- && $3 ~ /^[0-9]+$/ { print $2 "=" $3 }' lib/notmuch.h`
check_version_component ()
{
- eval local v1=\$VERSION_$1
- eval local v2=\$NOTMUCH_$1_VERSION
+ eval local v1=\$LIBNOTMUCH_$1_VERSION
+ eval local v2=\$LIBNOTMUCH_VERSION_$2
if [ $v1 != $v2 ]
- then append_emsg "NOTMUCH_$1_VERSION is defined as '$v2' in lib/notmuch.h instead of '$v1'"
+ then append_emsg "LIBNOTMUCH_$1_VERSION ($v1) does not equal LIBNOTMUCH_VERSION_$2 ($v2)"
fi
}
old_emsg_count=$emsg_count
-check_version_component MAJOR
-check_version_component MINOR
-check_version_component MICRO
+check_version_component MAJOR MAJOR
+check_version_component MINOR MINOR
+check_version_component MICRO RELEASE
[ $old_emsg_count = $emsg_count ] && echo Yes. || echo No.
echo -n "Checking that this is Debian package for notmuch... "
fi
echo -n "Checking that python bindings version is $VERSION... "
-py_version=`python -c "execfile('$PV_FILE'); print __VERSION__"`
+py_version=`python -c "with open('$PV_FILE') as vf: exec(vf.read()); print __VERSION__"`
if [ "$py_version" = "$VERSION" ]
then
echo Yes.
append_emsg "Date '$news_date' in NEWS file is not in format (yyyy-mm-dd)"
esac
-readonly DATE=${news_date//[()]/} # bash feature
-manthdata ()
-{
- set x $*
- if [ $# != 7 ]
- then
- append_emsg "'$mp' has too many '.TH' lines"
- man_mismatch=1
- fi
- man_date=${5-} man_version=${7-}
-}
-
-echo -n "Checking that manual page dates and versions are $DATE and $VERSION... "
-manfiles=`find man -type f | sort`
-man_pages_ok=Yes
-for mp in $manfiles
-do
- case $mp in
- *.[0-9]) ;; # fall below this 'case ... esac'
-
- */Makefile.local | */Makefile ) continue ;;
- */.gitignore) continue ;;
- *.bak) continue ;;
-
- *) append_emsg "'$mp': extra file"
- man_pages_ok=No
- continue
- esac
- manthdata `sed -n '/^[.]TH NOTMUCH/ { y/"/ /; p; }' "$mp"`
- if [ "$man_version" != "$VERSION" ]
- then append_emsg "Version '$man_version' is not '$VERSION' in $mp"
- mman_pages_ok=No
- fi
- if [ "$man_date" != "$DATE" ]
- then append_emsg "DATE '$man_date' is not '$DATE' in $mp"
- man_pages_ok=No
- fi
-done
-echo $man_pages_ok.
-
if [ -n "$emsgs" ]
then
echo