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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]