diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-03-02 01:19:27 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-03-02 01:19:27 +0000 |
commit | 67cb5f88a7c8f2833bf2946c64b400495b83f142 (patch) | |
tree | 6a60767bb18dd8d18324e0015ad1e5904cc68807 /tests/mkdir/dotest | |
parent | optimize a bit, and make sure we dont need a trailing slash for the last dir ... (diff) | |
download | portage-utils-67cb5f88a7c8f2833bf2946c64b400495b83f142.tar.gz portage-utils-67cb5f88a7c8f2833bf2946c64b400495b83f142.tar.bz2 portage-utils-67cb5f88a7c8f2833bf2946c64b400495b83f142.zip |
add test for mkdir_p/rm_rf code
Diffstat (limited to 'tests/mkdir/dotest')
-rwxr-xr-x | tests/mkdir/dotest | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/mkdir/dotest b/tests/mkdir/dotest new file mode 100755 index 0000000..4930677 --- /dev/null +++ b/tests/mkdir/dotest @@ -0,0 +1,65 @@ +#!/bin/bash + +. ../init.sh + +set -e + +_m=${PWD}/m +mktmpdir + +# check mkdir +m="${_m} m" +for d in a a/ a/b a/b/ a/b/c a/b/c/ ; do + $m ${d} + + rmdir ${d} + d=${d%/} + while [[ ${d} == */* ]] ; do + d=${d%/*} + rmdir ${d} + done +done + +for d in a a/ a/b a/b/ a/b/c a/b/c/ ; do + mkdir -p ${d} + $m ${d} + + rmdir ${d} + d=${d%/} + while [[ ${d} == */* ]] ; do + d=${d%/*} + rmdir ${d} + done +done + +# check rm_rf +m="${_m} rm" + +mkdir -p a/b/c/d +$m a/b/ +rmdir a + +mkdir -p a/b/c/d +$m a/b +rmdir a + +mkdir -p a/b/c/d +cd a +$m . || : # ignore EBUSY failure +cd .. +rmdir a + +mkdir -p a/b/c/d +ln -s . a/b/d +ln -s c a/b/cc +ln -s .. a/b/dd +ln -s x a/b/x +touch a/b/f +ln -s ../f a/b/c/f +$m a +[ ! -e a ] + +cd .. +rmdir tmp + +pass |