]> diplodocus.org Git - nmh/blob - test/mkstemp/test-mkstemp
Added const to arg of m_backup().
[nmh] / test / mkstemp / test-mkstemp
1 #!/bin/sh
2 ##################################
3 #
4 # Test creation of temporary file.
5 #
6 ##################################
7
8 set -e
9
10 if test -z "${MH_OBJ_DIR}"; then
11 srcdir=`dirname "$0"`/../..
12 MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR
13 fi
14
15 . "$MH_OBJ_DIR/test/common.sh"
16
17 setup_test
18
19 expected="$MH_TEST_DIR"/$$.expected
20 actual="$MH_TEST_DIR"/$$.actual
21
22 mkstemp="${MH_LIBEXEC_DIR}/mkstemp"
23 $mkstemp -help | grep suffix >/dev/null && has_mkstemps=1 || has_mkstemps=0
24
25 cd "$MHTMPDIR"
26
27
28 # check -help
29 if [ $has_mkstemps -eq 1 ]; then
30 cat >$expected <<-'EOF'
31 Usage: mkstemp [switches]
32 switches are:
33 -directory
34 -prefix
35 -suffix
36 -version
37 -help
38 EOF
39 else
40 cat >$expected <<-'EOF'
41 Usage: mkstemp [switches]
42 switches are:
43 -directory
44 -prefix
45 -version
46 -help
47 EOF
48 fi
49
50 $mkstemp -h >$actual 2>&1
51 check $expected $actual
52
53
54 # check -version
55 # Verified same behavior as compiled mhmail.
56 case `$mkstemp -v` in
57 mkstemp\ --*) ;;
58 * ) printf '%s: mkstemp -v generated unexpected output\n' "$0" >&2
59 failed=`expr ${failed:-0} + 1`;;
60 esac
61
62
63 # check with no switches
64 tmpfile=`$mkstemp`
65 if [ -f "$tmpfile" ]; then
66 rm "$tmpfile"
67 else
68 failed=1
69 fi
70
71
72 # check -directory
73 tmpfile=`$mkstemp -directory "$MHTMPDIR"`
74 [ -f "$tmpfile" ] && rm "$tmpfile" || failed=`expr ${failed:-0} + 1`
75 # Rely on exit status of grep to detect failure and terminate due to set -e:
76 check_tmpfile=`echo $tmpfile | grep "^$MHTMPDIR/......$" >/dev/null`
77 run_test 'eval echo $check_tmpfile' ''
78
79
80 # check -prefix
81 tmpfile=`$mkstemp -prefix mkstemptest`
82 [ -f "$tmpfile" ] && rm "$tmpfile" || failed=`expr ${failed:-0} + 1`
83 # Rely on exit status of grep to detect failure and terminate due to set -e:
84 check_tmpfile=`echo $tmpfile | grep '^mkstemptest......$' >/dev/null`
85 run_test 'eval echo $check_tmpfile' ''
86
87
88 if [ $has_mkstemps -eq 1 ]; then
89 # check -suffix
90 tmpfile=`$mkstemp -suffix .txt`
91 [ -f "$tmpfile" ] && rm "$tmpfile" || failed=`expr ${failed:-0} + 1`
92 # Rely on exit status of grep to detect failure and terminate due to set -e:
93 check_tmpfile=`echo $tmpfile | grep '^......\.txt$' >/dev/null`
94 run_test 'eval echo $check_tmpfile' ''
95 fi
96
97
98 exit $failed