On 05/17/2010 01:29 PM, Eric Blake wrote: > On 05/17/2010 11:06 AM, Cole Robinson wrote: >> 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. > > Skipping, with a stderr message of why, sounds reasonable to me. > >> >> Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> >> --- >> 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 > > Bash-ism. To be portable, you'd have to use something like: > > if test `echo "$SOCKPATH" | wc -c` -lt 108; then > > And for that matter, instead of a positive test and re-indenting the > rest of the script, it might be nicer to do a negative test and early > exit, to leave the rest of the script untouched: > > if test 108 -lt `...`; then > skip_test_ "CWD too long" > fi > Thanks for the review, I've sent a new patch with your recommended changes. - Cole -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list