Never mind. The change is to skip the test and not just On Fri, Oct 25, 2013 at 10:29 AM, Gurucharan Shetty <[email protected]> wrote: > 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? Me inserting a ">>" is not actually unicode but rather just 2 ">". So non_ascii_cwd=false. But the test does fail. Though that may not be your use case. For the use case of «BUILDDIR», the test does pass.
So looks good to me. _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
