Security fix patch. Fix insecure temporary file and directory creations. (CAN-2004...
[midnight-commander.git] / maint / mctest
blob328bff42b530de4ffaaf7e45e3fecb6b729ad30f
1 #!/bin/sh
3 # This is the testsuite for GNU Midnight Commander.
4 # Maintainer doing the release must ensure that this testsuite passes.
6 set -e
8 distcheck() {
9 id="$1"
10 shift
11 make distcheck MSGMERGE="msgmerge -q" "$@" >test-$id.out 2>test-$id.err
14 # Specify which warnings we want to see.
15 # Don't add options that produce massive warnings.
16 # Add -Wstrict-prototypes after main.h is fixed (always use cpanel).
17 # Maybe add -W if a better way to initialize quick dialogs is found.
18 export CFLAGS="-O2 -Wall -Wno-unused-parameter -Wno-sign-compare \
19 -Wmissing-declarations -Wmissing-prototypes -Wbad-function-cast \
20 -Wcast-align -Wpointer-arith -Wredundant-decls -Wundef -Wfloat-equal"
22 # Suppress progress indicator
23 export MSGMERGE="msgmerge --quiet"
25 echo "Checking the documentation"
26 maint/doctest
28 echo "Bootstraping from CVS"
29 ./autogen.sh >test-autogen.out 2>test-autogen.err
31 echo "Checking configure"
32 bash -n configure 2>test-configure.err
34 echo "Making everything in the source directory"
35 make all >test0.out 2>test0.err
37 echo "Checking the default configuration"
38 distcheck 1
40 echo "Checking the configuration with maximal code coverage"
41 distcheck 2 with_screen=mcslang enable_charset=yes with_samba=yes \
42 with_mcfs=yes with_included_gettext=yes with_glib12=yes
44 echo "Checking the configuration with minimal code coverage"
45 distcheck 3 enable_largefile=no enable_nls=no with_vfs=no \
46 with_gpm_mouse=no with_subshell=no with_edit=no with_ext2undel=no \
47 with_screen=ncurses with_x=no enable_background=no
49 echo "Checking the configuration with minimal code coverage + editor"
50 distcheck 4 enable_largefile=no enable_nls=no with_vfs=no \
51 with_gpm_mouse=no with_subshell=no with_ext2undel=no \
52 with_screen=ncurses
54 echo "Checking the configuration with experimental and rarely used options"
55 distcheck 5 with_screen=mcslang with_termcap=yes \
56 with_mmap=no with_subshell=optional enable_netcode=no
58 if test -x /usr/bin/rpmbuild; then
59 echo "Building RPM package"
60 /usr/bin/rpmbuild -ta mc-*.tar.gz >test-rpm.out 2>test-rpm.err
61 else
62 echo "rpmbuild not found"
65 echo "All done. No fatal errors. Please check test*.err files."