File tree Expand file tree Collapse file tree 2 files changed +25
-3
lines changed
Expand file tree Collapse file tree 2 files changed +25
-3
lines changed Original file line number Diff line number Diff line change @@ -91,6 +91,11 @@ run_if_possible() {
9191 fi
9292}
9393
94+ is_empty_dir () {
95+ local dir=" $1 "
96+ [ -z " $( ls -A " $dir " ) " ]
97+ }
98+
9499run_on () {
95100 local command=" $1 "
96101 local script_dir=" $2 "
@@ -99,9 +104,13 @@ run_on() {
99104
100105 local dir; dir=" $script_dir /on_$command /"
101106 if [ -d " $dir " ]; then
102- for file in " $dir " /* ; do
103- run_if_possible " $file "
104- done
107+ if ! is_empty_dir " $dir " ; then
108+ for file in " $dir " /* ; do
109+ run_if_possible " $file "
110+ done
111+ else
112+ log " $dir is empty"
113+ fi
105114 else
106115 log " $dir does not exist"
107116 fi
Original file line number Diff line number Diff line change @@ -67,3 +67,16 @@ teardown() {
6767
6868 test " $status " -ne 0
6969}
70+
71+ @test " is_empty_dir succeeds if dir is empty" {
72+ local empty_dir; empty_dir=$( mktemp -d)
73+ is_empty_dir " $empty_dir "
74+ }
75+
76+ @test " is_empty_dir fails if dir is empty" {
77+ local non_empty_dir; non_empty_dir=$( mktemp -d)
78+ touch " $non_empty_dir /something"
79+
80+ run is_empty_dir " $non_empty_dir "
81+ test " $status " -ne 0
82+ }
You can’t perform that action at this time.
0 commit comments