From 0964bc0d055fd0b2c30a6a24abb6c9d834602df8 Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Tue, 27 Mar 2018 15:56:10 -0700 Subject: [PATCH] test_alias: skip unicode tests on non-unicode platform This was flunking the OS-X buildbot, which runs in an environment without $LANG being set, and thus encodingutil deduces (correctly but unhelpfully) that we're limited to ASCII. Other tests detect this situation and raise SkipTest, so let's do that here too. --- src/allmydata/test/cli/test_alias.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/allmydata/test/cli/test_alias.py b/src/allmydata/test/cli/test_alias.py index 3925a4af6..a3f30257c 100644 --- a/src/allmydata/test/cli/test_alias.py +++ b/src/allmydata/test/cli/test_alias.py @@ -4,7 +4,7 @@ from mock import patch from twisted.trial import unittest from twisted.internet.defer import inlineCallbacks -from allmydata.util.encodingutil import unicode_to_argv +from allmydata.util.encodingutil import unicode_to_argv, get_io_encoding from allmydata.scripts.common import get_aliases from allmydata.test.no_network import GridTestMixin from .common import CLITestMixin @@ -12,6 +12,13 @@ from .common import CLITestMixin # see also test_create_alias +def skip_unless_unicode(): + try: + etudes_arg = u"\u00E9tudes".encode(get_io_encoding()) + del etudes_arg + except UnicodeEncodeError: + raise unittest.SkipTest("A non-ASCII command argument could not be encoded on this platform.") + class ListAlias(GridTestMixin, CLITestMixin, unittest.TestCase): @@ -48,6 +55,7 @@ class ListAlias(GridTestMixin, CLITestMixin, unittest.TestCase): this """ self.basedir = "cli/ListAlias/test_list_unicode_mismatch_json" + skip_unless_unicode() self.set_up_grid(oneshare=True) rc, stdout, stderr = yield self.do_cli( @@ -79,6 +87,7 @@ class ListAlias(GridTestMixin, CLITestMixin, unittest.TestCase): @inlineCallbacks def test_list_unicode_mismatch(self): self.basedir = "cli/ListAlias/test_list_unicode_mismatch" + skip_unless_unicode() self.set_up_grid(oneshare=True) rc, stdout, stderr = yield self.do_cli(