test-lib: add test_dir_is_empty()
authorJens Lehmann <Jens.Lehmann@web.de>
Thu, 19 Jun 2014 20:12:23 +0000 (22:12 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 20 Jun 2014 17:20:42 +0000 (10:20 -0700)
For the upcoming submodule test framework we often need to assert that an
empty directory exists in the work tree. Add the test_dir_is_empty()
function which asserts that the given argument is an empty directory.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib-functions.sh
index c617c826db94f2e3c0ed01fe079d3ae14ac3b883..acd9a55cacf9d4c825e3f2e7b1b229aa995677f1 100644 (file)
@@ -489,6 +489,17 @@ test_path_is_dir () {
        fi
 }
 
+# Check if the directory exists and is empty as expected, barf otherwise.
+test_dir_is_empty () {
+       test_path_is_dir "$1" &&
+       if test -n "$(ls -a1 "$1" | egrep -v '^\.\.?$')"
+       then
+               echo "Directory '$1' is not empty, it contains:"
+               ls -la "$1"
+               return 1
+       fi
+}
+
 test_path_is_missing () {
        if [ -e "$1" ]
        then