5f0c24b9c2a0ddda02341a1949450ebd1465d24c
[platform/upstream/coreutils.git] / tests / mkdir / special-1
1 #!/bin/sh
2 # verify that mkdir honors special bits in MODE
3
4 if test "$VERBOSE" = yes; then
5   set -x
6   mkdir --version
7 fi
8
9 tmp=mkdir-sp-$$
10 trap 'status=$?; rm -rf $tmp && exit $status' 0
11 trap 'exit $?' 1 2 13 15
12
13 set_mode_string=u=rwx,g=rx,o=w,-s,+t
14 output_mode_string=drwxr-x-wT
15
16 mkdir -m$set_mode_string $tmp || fail=1
17
18 test -d $tmp || fail=1
19 set -- `ls -ld $tmp`
20 case "$1" in
21   $output_mode_string) ;;
22   *) fail=1 ;;
23 esac
24
25 rmdir $tmp || fail=1
26 tmp2=$tmp/sub
27
28 # This should fail.
29 mkdir -m$set_mode_string $tmp2 2> /dev/null && fail=1
30
31 # Now test the --parents option.
32 mkdir --parents -m$set_mode_string $tmp2 || fail=1
33
34 test -d $tmp2 || fail=1
35 set -- `ls -ld $tmp2`
36 case "$1" in
37   $output_mode_string) ;;
38   *) fail=1 ;;
39 esac
40
41 exit $fail