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 -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list