On Fri, Oct 25, 2013 at 9:22 AM, Ben Pfaff <[email protected]> wrote:
> The Debian autobuild machines run their builds inside a top-level
> directory named /«BUILDDIR».  That name contains two non-ASCII characters
> that cause the Python code in the interface-reconfigure and ovs-monitor-ipsec
> tests to fail.  The problem seems to be related to the locale, because
> switching to a UTF-8 locale allows the tests to proceed farther but does
> not fix the problem.  I was not able to easily fix the actual problem.
> Web searches turn up articles that imply that the problem is not
> reasonably fixable with Python 2.x, e.g.:
>     http://stackoverflow.com/a/11742928
>
> This commit instead avoids the problem by skipping these tests if the
> current working directory's name contains non-ASCII characters.  This is
> a legitimate solution only because interface-reconfigure and
> ovs-monitor-ipsec run from initscripts and thus their current working
> directories are system directories.  (Also, the current working directory
> matters much less when run in a real environment because the --root-prefix
> option that causes the issue is not used in a real environment.)
>
> Signed-off-by: Ben Pfaff <[email protected]>
> ---
>  tests/atlocal.in               |   15 +++++++++++++++
>  tests/interface-reconfigure.at |    4 ++++
>  tests/ovs-monitor-ipsec.at     |    1 +
>  3 files changed, 20 insertions(+)
>
> diff --git a/tests/atlocal.in b/tests/atlocal.in
> index c736df4..2ca17af 100644
> --- a/tests/atlocal.in
> +++ b/tests/atlocal.in
> @@ -24,6 +24,21 @@ export PYTHONIOENCODING
>  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
> +
>  if test $HAVE_PYTHON = yes; then
>      if python -m argparse 2>/dev/null; then
>          :
> diff --git a/tests/interface-reconfigure.at b/tests/interface-reconfigure.at
> index 59507ff..e08f55b 100644
> --- a/tests/interface-reconfigure.at
> +++ b/tests/interface-reconfigure.at
> @@ -696,6 +696,7 @@ AT_BANNER([interface-reconfigure])
>
>  AT_SETUP([non-VLAN, non-bond])
>  AT_KEYWORDS([interface-reconfigure])
> +AT_SKIP_IF([$non_ascii_cwd])
>  ifr_setup
>
>  AT_CHECK([ifr_run --force xenbr2 up], [0], [], [stderr])
> @@ -771,6 +772,7 @@ AT_CLEANUP
>
>  AT_SETUP([VLAN, non-bond])
>  AT_KEYWORDS([interface-reconfigure])
> +AT_SKIP_IF([$non_ascii_cwd])
>  ifr_setup
>
>  AT_CHECK([ifr_run --force xapi3 up], [0], [], [stderr])
> @@ -844,6 +846,7 @@ AT_CLEANUP
>
>  AT_SETUP([Bond, non-VLAN])
>  AT_KEYWORDS([interface-reconfigure])
> +AT_SKIP_IF([$non_ascii_cwd])
>  ifr_setup
>
>  # Pretend that bond0 exists, even though it would really be created by
> @@ -932,6 +935,7 @@ AT_CLEANUP
>
>  AT_SETUP([VLAN on bond])
>  AT_KEYWORDS([interface-reconfigure])
> +AT_SKIP_IF([$non_ascii_cwd])
>  ifr_setup
>
>  # Pretend that bond0 exists, even though it would really be created by
> diff --git a/tests/ovs-monitor-ipsec.at b/tests/ovs-monitor-ipsec.at
> index e66c943..47266cb 100644
> --- a/tests/ovs-monitor-ipsec.at
> +++ b/tests/ovs-monitor-ipsec.at
> @@ -2,6 +2,7 @@ AT_BANNER([ovs-monitor-ipsec])
>
>  AT_SETUP([ovs-monitor-ipsec])
>  AT_SKIP_IF([test $HAVE_PYTHON = no])
> +AT_SKIP_IF([$non_ascii_cwd])
>
>  OVS_RUNDIR=`pwd`; export OVS_RUNDIR
>  OVS_DBDIR=`pwd`; export OVS_DBDIR
> --
> 1.7.10.4
>
> _______________________________________________
> dev mailing list
> [email protected]
> http://openvswitch.org/mailman/listinfo/dev

I changed my directory name to include a directory with ">>" in it.
And this test failed for me.
It was not supposed to fail, right?
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to