[libvirt] [PATCH] tests: Skip daemon-conf test if dir exceeds UNIX_PATH_MAX

Cole Robinson crobinso at redhat.com
Mon May 17 17:06:22 UTC 2010


The max path length for unix sockets is pretty small (108, see man 7 unix).
If 'make check' is run from a directory that exceeds this, one of the tests
will fail, and in such a way that requires manually editting the test to
determine why.

There are certainly other ways to handle this, but I've chosen just to skip
the offending test if we will exceed the length limitation.

Signed-off-by: Cole Robinson <crobinso at redhat.com>
---
 tests/daemon-conf |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/tests/daemon-conf b/tests/daemon-conf
index 10c1628..8eed4c4 100755
--- a/tests/daemon-conf
+++ b/tests/daemon-conf
@@ -76,16 +76,22 @@ sed 's,^log_outputs.*,log_outputs="3:file:'"$(pwd)/log"'",' tmp.conf > k \
     || fail=1
 mv k tmp.conf || fail=1
 
-$abs_top_builddir/daemon/libvirtd --pid-file=pid-file --config=tmp.conf > log 2>&1 & pid=$!
-sleep $sleep_secs
-kill $pid
+# Unix socket max path size is 108 on linux. If the generated sock path
+# exceeds this, the test will fail, so skip it if CWD is too long
+SOCKPATH=`pwd`/libvirt-sock
+if test ${#SOCKPATH} -lt 108 ; then
 
-RET=0
-# Expect an orderly shut-down and successful exit.
-wait $pid || RET=1
+    $abs_top_builddir/daemon/libvirtd --pid-file=pid-file --config=tmp.conf > log 2>&1 & pid=$!
+    sleep $sleep_secs
+    kill $pid
 
-test_result $i "valid config file (sleeping $sleep_secs seconds)" $RET
-test $RET = 0 || fail=1
+    RET=0
+    # Expect an orderly shut-down and successful exit.
+    wait $pid || RET=1
+
+    test_result $i "valid config file (sleeping $sleep_secs seconds)" $RET
+    test $RET = 0 || fail=1
+fi
 
 test_final $i $fail
 
-- 
1.6.6.1




More information about the libvir-list mailing list