# -*- shell-script -*-
HAVE_OPENSSL='@HAVE_OPENSSL@'
HAVE_PYTHON='@HAVE_PYTHON@'
+HAVE_PYTHON3='@HAVE_PYTHON3@'
+EGREP='@EGREP@'
PERL='@PERL@'
-PYTHON='@PYTHON@'
-PYTHONPATH=$PYTHONPATH:$abs_top_srcdir/python
+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
+
+# 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
+ 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