mirror of https://github.com/MidnightCommander/mc
76 lines
2.4 KiB
Bash
Executable File
76 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# This is the testsuite for GNU Midnight Commander.
|
|
# Maintainer doing the release must ensure that this testsuite passes.
|
|
|
|
set -e
|
|
|
|
trap 'echo >&2 "ERROR: Test not completed, exit with code $?"; exit 1' exit
|
|
|
|
distcheck() {
|
|
id="$1"
|
|
shift
|
|
make distcheck "$MAKEFLAGS" "$@" >test-$id.out 2>test-$id.err
|
|
}
|
|
|
|
# Specify which warnings we want to see.
|
|
# Don't add options that produce massive warnings.
|
|
# Add -Wstrict-prototypes after main.h is fixed (always use cpanel).
|
|
# Maybe add -W if a better way to initialize quick dialogs is found.
|
|
export CFLAGS="-O2 -Wall -Wno-unused-parameter -Wno-sign-compare \
|
|
-Wmissing-declarations -Wmissing-prototypes -Wbad-function-cast \
|
|
-Wcast-align -Wpointer-arith -Wredundant-decls -Wundef -Wfloat-equal"
|
|
|
|
# Suppress progress indicator
|
|
MAKEFLAGS='MSGMERGE_FLAGS=--no-location --quiet'
|
|
|
|
echo "Checking the documentation"
|
|
maint/doctest
|
|
|
|
echo "Bootstraping from CVS"
|
|
./autogen.sh >test-autogen.out 2>test-autogen.err
|
|
|
|
echo "Checking configure"
|
|
bash -n configure 2>test-configure.err
|
|
|
|
echo "Making everything in the source directory"
|
|
make all >test0.out 2>test0.err
|
|
|
|
echo "Checking the default configuration"
|
|
distcheck 1
|
|
|
|
echo "Checking the configuration with maximal code coverage"
|
|
distcheck 2 enable_charset=yes with_samba=yes \
|
|
with_included_gettext=yes
|
|
|
|
echo "Checking the configuration with minimal code coverage"
|
|
distcheck 3 enable_largefile=no enable_nls=no with_vfs=no \
|
|
with_gpm_mouse=no with_subshell=no with_edit=no with_ext2undel=no \
|
|
with_screen=ncurses with_x=no enable_background=no
|
|
|
|
echo "Checking the configuration with minimal code coverage + editor"
|
|
distcheck 4 enable_largefile=no enable_nls=no with_vfs=no \
|
|
with_gpm_mouse=no with_subshell=no with_ext2undel=no \
|
|
with_screen=ncurses
|
|
|
|
echo "Checking the configuration with experimental and rarely used options"
|
|
distcheck 5 with_mmap=no with_subshell=optional
|
|
|
|
RPMBUILD=/usr/bin/rpmbuild
|
|
if test -x $RPMBUILD; then
|
|
echo "Building RPM package"
|
|
RPM_SRC_DIR="`pwd`/rpm"
|
|
rm -rf $RPM_SRC_DIR
|
|
mkdir "$RPM_SRC_DIR"
|
|
mkdir "$RPM_SRC_DIR/BUILD"
|
|
mkdir "$RPM_SRC_DIR/RPMS"
|
|
mkdir "$RPM_SRC_DIR/RPMS/`$RPMBUILD --eval='%{_host_cpu}' 2>/dev/null`"
|
|
mkdir "$RPM_SRC_DIR/SPECS"
|
|
$RPMBUILD -tb --define="_topdir $RPM_SRC_DIR" mc-*.tar.gz >test-rpm.out 2>test-rpm.err
|
|
else
|
|
echo "rpmbuild not found"
|
|
fi
|
|
|
|
trap - exit
|
|
echo "All done. No fatal errors. Please check test*.err files."
|