X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=tests%2Fatlocal.in;h=f174061d8f82a2ccdc14813eb5c6354e641893aa;hb=8fb7d02686ed85ad799dfd902ea88d977dab1868;hp=1d37b59a74aa18096cd461bdf54f4ad88a552aee;hpb=79982e900ba733bc870e1516e46fdcda67cf9cc1;p=cascardo%2Fovs.git diff --git a/tests/atlocal.in b/tests/atlocal.in index 1d37b59a7..f174061d8 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -1,23 +1,131 @@ # -*- shell-script -*- HAVE_OPENSSL='@HAVE_OPENSSL@' HAVE_PYTHON='@HAVE_PYTHON@' +HAVE_PYTHON3='@HAVE_PYTHON3@' +EGREP='@EGREP@' PERL='@PERL@' if test x"$PYTHON" = x; then PYTHON='@PYTHON@' fi +if test x"$PYTHON3" = x; then + PYTHON3='@PYTHON3@' +fi + PYTHONPATH=$abs_top_srcdir/python:$abs_top_builddir/tests:$PYTHONPATH export PYTHONPATH PYTHONIOENCODING=utf_8 export PYTHONIOENCODING -if test $HAVE_PYTHON = yes; then - if python -m argparse 2>/dev/null; then - : +# PYTHONDONTWRITEBYTECODE=yes keeps Python from creating .pyc and .pyo +# files. Creating .py[co] works OK for any given version of Open +# vSwitch, but it causes trouble if you switch from a version with +# foo/__init__.py into an (older) version with plain foo.py, since +# foo/__init__.pyc will cause Python to ignore foo.py. +PYTHONDONTWRITEBYTECODE=yes +export PYTHONDONTWRITEBYTECODE + +# Test whether the current working directory name is all ASCII +# characters. Some Python code doesn't tolerate non-ASCII characters +# in filenames very well, so if the current working directory is +# non-ASCII then we skip the tests that run those programs. +# +# This would be just papering over a real problem, except that the +# tests that we skip are launched from initscripts and thus normally +# run in system directories with ASCII names. (This problem only came +# up at all because the Debian autobuilders do build in a top-level +# directory named /«BUILDDIR».) +case `pwd | tr -d ' -~'` in + '') non_ascii_cwd=false ;; + *) non_ascii_cwd=true +esac + +# Enable malloc debugging features. +case `uname` in +Linux) + MALLOC_PERTURB_=165; export MALLOC_PERTURB_ + + # Before glibc 2.11, the feature enabled by MALLOC_CHECK_ was not + # thread-safe. See https://bugzilla.redhat.com/show_bug.cgi?id=585674 and + # in particular the patch attached there, which was applied to glibc CVS as + # "Restore locking in free_check." between 1.11 and 1.11.1. + vswitchd=$abs_top_builddir/vswitchd/ovs-vswitchd + glibc=`ldd $vswitchd | sed -n 's/^ libc\.[^ ]* => \([^ ]*\) .*/\1/p'` + glibc_version=`$glibc | sed -n '1s/.*version \([0-9]\{1,\}\.[0-9]\{1,\}\).*/\1/p'` + case $glibc_version in + 2.[0-9] | 2.1[01]) mcheck=disabled ;; + *) mcheck=enabled ;; + esac + if test $mcheck = enabled; then + MALLOC_CHECK_=2; export MALLOC_CHECK_ else - PYTHONPATH=$PYTHONPATH:$abs_top_srcdir/python/compat - export PYTHONPATH + echo >&2 "glibc $glibc_version detected, disabling memory checking" fi + ;; +FreeBSD) + case `uname -r` in + [789].*) + MALLOC_CONF=AJ + ;; + *) + MALLOC_CONF=abort:true,junk:true,redzone:true + ;; + esac + export MALLOC_CONF +esac + +# The name of loopback interface +case `uname` in +Linux) + LOOPBACK_INTERFACE=lo + ;; +FreeBSD|NetBSD) + LOOPBACK_INTERFACE=lo0 + ;; +esac + +# Check for platform. +case `uname` in +MINGW*) + IS_WIN32="yes" + IS_BSD="no" + ;; +FreeBSD|NetBSD) + IS_WIN32="no" + IS_BSD="yes" + ;; +*) + IS_WIN32="no" + IS_BSD="no" + ;; +esac + +# Check whether to run IPv6 tests. +if perl -e 'use Socket; socket(FH, PF_INET6, SOCK_STREAM, 0) || exit 1;'; then + HAVE_IPV6=yes +else + HAVE_IPV6=no +fi + +# XXX: Disable Python related tests on Windows because Open vSwitch code +# written in Python has not been ported to the Windows platform. We will +# need to remove the next block after porting is complete. +if test "$IS_WIN32" = "yes"; then + HAVE_PYTHON="no" +fi + +if test "$HAVE_PYTHON" = "yes" \ + && test "x`$PYTHON $abs_top_srcdir/tests/test-l7.py --help | grep 'ftp'`" != x; then + HAVE_PYFTPDLIB="yes" +else + HAVE_PYFTPDLIB="no" +fi + +# Determine correct netcat option to quit on stdin EOF +if nc --version 2>&1 | grep -q nmap.org; then + NC_EOF_OPT="--send-only" +else + NC_EOF_OPT="-q 1" fi