Imported Upstream version 2.2.52
[platform/upstream/acl.git] / test / make-tree
1 #!/bin/sh
2
3 LEVELS=3 ;              [ -z "$1" ] || LEVELS=$1
4 DIRS=10 ;               [ -z "$2" ] || DIRS=$2
5 FILES=10 ;              [ -z "$2" ] || FILES=$3
6 NUMBER_OF_ACLS=50 ;     [ -z "$3" ] || NUMBER_OF_ACLS=$4
7
8 function random_dir() {
9         mkdir -p $1
10         #setfacl -s "u::rwx,u:$[($RANDOM % $NUMBER_OF_ACLS)+1000]:rwx,g::rx,o:-" $1
11 }
12
13 function random_file() {
14         touch $1
15         #setfacl -s "u::rw,u:$[($RANDOM % $NUMBER_OF_ACLS)+1000]:rw,g::r,o:-" $1
16 }
17
18 function create () {
19         local LEVEL=$1
20         if [ $LEVEL -eq 0 ]; then
21                 local I=0
22                 while [ $I -lt $FILES ]; do
23                         random_file file$I
24                         I=$[$I+1]
25                 done
26                 echo -n "."
27         else
28                 local I=0
29                 while [ $I -lt $DIRS ]; do
30                         random_dir dir$I
31                         cd dir$I
32                         create $[$LEVEL-1]
33                         cd ..
34                         I=$[$I+1]
35                 done
36         fi
37         return
38 }
39
40 mkdir -p tree
41 cd tree
42 create $LEVELS
43 cd ..
44 echo
45