blob: 1309f6f2e7a070a6270f0a797dd25c927f1f4496 [file] [log] [blame]
#!/bin/sh
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
# requires shunit2 to be in $PATH
# http://shunit2.googlecode.com/
# uses `checkbashisms` if in $PATH
SHUNIT2=`which shunit2`
if [ -z "$SHUNIT2" -o ! -x "$SHUNIT2" ]; then
echo
echo "Error: This test script requires the shunit2 script to be in \$PATH".
echo "You can download shunit2 from http://shunit2.googlecode.com or via"
echo "your preferred package manager."
echo
exit 1
fi
CHECKBASHISMS=`which checkbashisms`
if [ -n "$CHECKBASHISMS" -a -x "$CHECKBASHISMS" ]; then
echo "Checking for bash-isms"
echo " in ./configure"
`$CHECKBASHISMS -npfx configure`
if [ $? -ne 0 ]; then
echo "./configure includes bashisms, do not release"
fi
echo " done"
echo " in ./build-aux/couchdb-build-release.sh"
`$CHECKBASHISMS -npfx ./build-aux/couchdb-build-release.sh`
if [ $? -ne 0 ]; then
echo "./build-aux/couchdb-build-release.sh includes bashisms, do not release"
fi
echo " done"
fi
# shunit2 tests
CMD="./configure --test "
test_defaults() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD`
assertEquals "test defaults" "$EXPECT" "$RESULT"
}
test_prefix() {
EXPECT="/opt/local /opt/local /opt/local/bin /opt/local/libexec /opt/local/etc /opt/local/share /opt/local/share /opt/local/var /opt/local/var/run /opt/local/share/doc/apache-couchdb /opt/local/lib /opt/local/var/lib/couchdb /opt/local/var/lib/couchdb /opt/local/var/log /opt/local/share/man /opt/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --prefix=/opt/local`
assertEquals "test prefix" "$EXPECT" "$RESULT"
RESULT=`$CMD --prefix /opt/local`
assertEquals "test prefix" "$EXPECT" "$RESULT"
}
test_prefix_error() {
EXPECT='ERROR: "--prefix" requires a non-empty argument.'
RESULT=`$CMD --prefix= 2>&1`
assertEquals "test prefix error" "$EXPECT" "$RESULT"
RESULT=`$CMD --prefix 2>&1`
assertEquals "test prefix error" "$EXPECT" "$RESULT"
}
test_exec_prefix() {
EXPECT="/usr/local /opt/local /opt/local/bin /opt/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /opt/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --exec-prefix=/opt/local`
assertEquals "test exec_prefix" "$EXPECT" "$RESULT"
RESULT=`$CMD --exec-prefix /opt/local`
assertEquals "test exec_prefix" "$EXPECT" "$RESULT"
}
test_exec_prefix_eval() {
EXPECT="/horse/local /horse/local /horse/local/bin /horse/local/libexec /horse/local/etc /horse/local/share /horse/local/share /horse/local/var /horse/local/var/run /horse/local/share/doc/apache-couchdb /horse/local/lib /horse/local/var/lib/couchdb /horse/local/var/lib/couchdb /horse/local/var/log /horse/local/share/man /horse/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --prefix=/horse/local --exec-prefix=\\${prefix}`
assertEquals "test exec_prefix" "$EXPECT" "$RESULT"
RESULT=`$CMD --prefix /horse/local --exec-prefix \\${prefix}`
assertEquals "test exec_prefix" "$EXPECT" "$RESULT"
}
test_exec_prefix_error() {
EXPECT='ERROR: "--exec-prefix" requires a non-empty argument.'
RESULT=`$CMD --exec-prefix= 2>&1`
assertEquals "test exec_prefix error" "$EXPECT" "$RESULT"
RESULT=`$CMD --exec-prefix 2>&1`
assertEquals "test exec_prefix error" "$EXPECT" "$RESULT"
}
test_bindir() {
EXPECT="/usr/local /usr/local /my/funky/bindir /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --bindir=/my/funky/bindir`
assertEquals "test bindir" "$EXPECT" "$RESULT"
RESULT=`$CMD --bindir /my/funky/bindir`
assertEquals "test bindir" "$EXPECT" "$RESULT"
}
test_bindir_error() {
EXPECT='ERROR: "--bindir" requires a non-empty argument.'
RESULT=`$CMD --bindir= 2>&1`
assertEquals "test bindir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --bindir 2>&1`
assertEquals "test bindir error" "$EXPECT" "$RESULT"
}
test_libexecdir() {
EXPECT="/usr/local /usr/local /usr/local/bin /opt/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --libexecdir=/opt/local/libexec`
assertEquals "test libexecdir" "$EXPECT" "$RESULT"
RESULT=`$CMD --libexecdir /opt/local/libexec`
assertEquals "test libexecdir" "$EXPECT" "$RESULT"
}
test_libexecdir_error() {
EXPECT='ERROR: "--libexecdir" requires a non-empty argument.'
RESULT=`$CMD --libexecdir= 2>&1`
assertEquals "test libexecdir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --libexecdir 2>&1`
assertEquals "test libexecdir error" "$EXPECT" "$RESULT"
}
test_sysconfdir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /opt/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --sysconfdir=/opt/local/etc`
assertEquals "test sysconfdir" "$EXPECT" "$RESULT"
RESULT=`$CMD --sysconfdir /opt/local/etc`
assertEquals "test sysconfdir" "$EXPECT" "$RESULT"
}
test_sysconfdir_error() {
EXPECT='ERROR: "--sysconfdir" requires a non-empty argument.'
RESULT=`$CMD --sysconfdir= 2>&1`
assertEquals "test sysconfdir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --sysconfdir 2>&1`
assertEquals "test sysconfdir error" "$EXPECT" "$RESULT"
}
test_datarootdir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /opt/local/share /opt/local/share /usr/local/var /usr/local/var/run /opt/local/share/doc/apache-couchdb /usr/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /opt/local/share/man /opt/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --datarootdir=/opt/local/share`
assertEquals "test datarootdir" "$EXPECT" "$RESULT"
RESULT=`$CMD --datarootdir /opt/local/share`
assertEquals "test datarootdir" "$EXPECT" "$RESULT"
}
test_datarootdir_error() {
EXPECT='ERROR: "--datarootdir" requires a non-empty argument.'
RESULT=`$CMD --datarootdir= 2>&1`
assertEquals "test datarootdir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --datarootdir 2>&1`
assertEquals "test datarootdir error" "$EXPECT" "$RESULT"
}
test_localstatedir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /horse/local/var /horse/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /horse/local/var/lib/couchdb /horse/local/var/lib/couchdb /horse/local/var/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --localstatedir=/horse/local/var`
assertEquals "test localstatedir" "$EXPECT" "$RESULT"
RESULT=`$CMD --localstatedir /horse/local/var`
assertEquals "test localstatedir" "$EXPECT" "$RESULT"
}
test_localstatedir_error() {
EXPECT='ERROR: "--localstatedir" requires a non-empty argument.'
RESULT=`$CMD --localstatedir= 2>&1`
assertEquals "test localstatedir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --localstatedir 2>&1`
assertEquals "test localstatedir error" "$EXPECT" "$RESULT"
}
test_runstatedir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /horse/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --runstatedir=/horse/local/var/run`
assertEquals "test runstatedir" "$EXPECT" "$RESULT"
RESULT=`$CMD --runstatedir /horse/local/var/run`
assertEquals "test runstatedir" "$EXPECT" "$RESULT"
}
test_runstatedir_error() {
EXPECT='ERROR: "--runstatedir" requires a non-empty argument.'
RESULT=`$CMD --runstatedir= 2>&1`
assertEquals "test runstatedir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --runstatedir 2>&1`
assertEquals "test runstatedir error" "$EXPECT" "$RESULT"
}
test_docdir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /horse/local/share/doc /usr/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /usr/local/share/man /horse/local/share/doc/html"
RESULT=`$CMD --docdir=/horse/local/share/doc`
assertEquals "test docdir" "$EXPECT" "$RESULT"
RESULT=`$CMD --docdir /horse/local/share/doc`
assertEquals "test docdir" "$EXPECT" "$RESULT"
}
test_docdir_error() {
EXPECT='ERROR: "--docdir" requires a non-empty argument.'
RESULT=`$CMD --docdir= 2>&1`
assertEquals "test docdir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --docdir 2>&1`
assertEquals "test docdir error" "$EXPECT" "$RESULT"
}
test_libdir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /horse/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --libdir=/horse/local/lib`
assertEquals "test libdir" "$EXPECT" "$RESULT"
RESULT=`$CMD --libdir /horse/local/lib`
assertEquals "test libdir" "$EXPECT" "$RESULT"
}
test_libdir_error() {
EXPECT='ERROR: "--libdir" requires a non-empty argument.'
RESULT=`$CMD --libdir= 2>&1`
assertEquals "test libdir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --libdir 2>&1`
assertEquals "test libdir error" "$EXPECT" "$RESULT"
}
test_database_dir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /horse/local/var/lib /usr/local/var/lib/couchdb /usr/local/var/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --databasedir=/horse/local/var/lib`
assertEquals "test databasedir" "$EXPECT" "$RESULT"
RESULT=`$CMD --databasedir /horse/local/var/lib`
assertEquals "test databasedir" "$EXPECT" "$RESULT"
}
test_database_dir_error() {
EXPECT='ERROR: "--databasedir" requires a non-empty argument.'
RESULT=`$CMD --databasedir= 2>&1`
assertEquals "test databasedir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --databasedir 2>&1`
assertEquals "test databasedir error" "$EXPECT" "$RESULT"
}
test_view_dir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /usr/local/var/lib/couchdb /horse/local/var/lib /usr/local/var/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --viewindexdir=/horse/local/var/lib`
assertEquals "test viewindexdir" "$EXPECT" "$RESULT"
RESULT=`$CMD --viewindexdir /horse/local/var/lib`
assertEquals "test viewindexdir" "$EXPECT" "$RESULT"
}
test_view_dir_error() {
EXPECT='ERROR: "--viewindexdir" requires a non-empty argument.'
RESULT=`$CMD --viewindexdir= 2>&1`
assertEquals "test viewindexdir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --viewindexdir 2>&1`
assertEquals "test viewindexdir error" "$EXPECT" "$RESULT"
}
test_logdir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /horse/log /usr/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --logdir=/horse/log`
assertEquals "test logdir" "$EXPECT" "$RESULT"
RESULT=`$CMD --logdir /horse/log`
assertEquals "test logdir" "$EXPECT" "$RESULT"
}
test_logdir_error() {
EXPECT='ERROR: "--logdir" requires a non-empty argument.'
RESULT=`$CMD --logdir= 2>&1`
assertEquals "test logdir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --logdir 2>&1`
assertEquals "test logdir error" "$EXPECT" "$RESULT"
}
test_mandir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /horse/local/share/man /usr/local/share/doc/apache-couchdb/html"
RESULT=`$CMD --mandir=/horse/local/share/man`
assertEquals "test mandir" "$EXPECT" "$RESULT"
RESULT=`$CMD --mandir /horse/local/share/man`
assertEquals "test mandir" "$EXPECT" "$RESULT"
}
test_mandir_error() {
EXPECT='ERROR: "--mandir" requires a non-empty argument.'
RESULT=`$CMD --mandir= 2>&1`
assertEquals "test mandir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --mandir 2>&1`
assertEquals "test mandir error" "$EXPECT" "$RESULT"
}
test_htmldir() {
EXPECT="/usr/local /usr/local /usr/local/bin /usr/local/libexec /usr/local/etc /usr/local/share /usr/local/share /usr/local/var /usr/local/var/run /usr/local/share/doc/apache-couchdb /usr/local/lib /usr/local/var/lib/couchdb /usr/local/var/lib/couchdb /usr/local/var/log /usr/local/share/man /horse/local/share/doc/html"
RESULT=`$CMD --htmldir=/horse/local/share/doc/html`
assertEquals "test htmldir" "$EXPECT" "$RESULT"
RESULT=`$CMD --htmldir /horse/local/share/doc/html`
assertEquals "test htmldir" "$EXPECT" "$RESULT"
}
test_htmldir_error() {
EXPECT='ERROR: "--htmldir" requires a non-empty argument.'
RESULT=`$CMD --htmldir= 2>&1`
assertEquals "test htmldir error" "$EXPECT" "$RESULT"
RESULT=`$CMD --htmldir 2>&1`
assertEquals "test htmldir error" "$EXPECT" "$RESULT"
}
# source the shunit2
. $SHUNIT2