[ 
https://issues.apache.org/jira/browse/CASSANDRA-14298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16468170#comment-16468170
 ] 

Patrick Bannister edited comment on CASSANDRA-14298 at 5/9/18 12:41 AM:
------------------------------------------------------------------------

The encoding problem is environmental. Python subprocesses uses whatever is 
returned by locale.getpreferredencoding(). We can do this on a Debian based 
platform (such as Ubuntu) by setting LC_CTYPE='C.UTF-8'.

We could simply say that this environment setting is a prerequisite for the 
cqlsh_tests, but I think we can do one better:

 
{code:java}
class TestCqlsh(Tester):

    @classmethod
    def setUpClass(cls):
        cls._cached_driver_methods = monkeypatch_driver()
        os.environ['LC_CTYPE'] = 'C.UTF-8' # override environment locale 
setting to prefer UTF-8 encoding
    @classmethod
    def tearDownClass(cls):
        unmonkeypatch_driver(cls._cached_driver_methods)

{code}
 

I have to admit I don't know what this will do on Windows, but I've tested it 
on my Ubuntu environment and it works fine.

I'll issue a new patch with these additions. I'll also re-post the current 
patch as the "old" patch, if you'd prefer to stick with it and just declare 
that this environment variable setting is a prerequisite to running these tests.

 


was (Author: ptbannister):
The encoding problem is environmental. Python subprocesses uses whatever is 
returned by locale.getpreferredencoding(). We can do this on a Debian based 
platform (such as Ubuntu) by setting LC_CTYPE='C.UTF-8'.

We could simply say that this environment setting is a prerequisite for the 
cqlsh_tests, but I think we can do one better:

 
{code:java}
class TestCqlsh(Tester):

    @classmethod
    def setUpClass(cls):
        cls._cached_driver_methods = monkeypatch_driver()
        os.environ['LC_CTYPE'] = 'C.UTF-8' # override environment locale 
setting to prefer UTF-8 encoding
    @classmethod
    def tearDownClass(cls):
        unmonkeypatch_driver(cls._cached_driver_methods)


    def setUp(self):
        self.cluster.set_environment_variable('LC_CTYPE', 'C.UTF-8') # the 
cluster is already configured, so we have to override its environment locale too
{code}
 

I have to admit I don't know what this will do on Windows, but I've tested it 
on my Ubuntu environment and it works fine.

I'll issue a new patch with these additions. I'll also re-post the current 
patch as the "old" patch, if you'd prefer to stick with it and just declare 
that this environment variable setting is a prerequisite to running these tests.

 

> cqlshlib tests broken on b.a.o
> ------------------------------
>
>                 Key: CASSANDRA-14298
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14298
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Build, Testing
>            Reporter: Stefan Podkowinski
>            Assignee: Patrick Bannister
>            Priority: Major
>              Labels: cqlsh, dtest
>         Attachments: CASSANDRA-14298.txt, CASSANDRA-14298_old.txt, 
> cqlsh_tests_notes.md
>
>
> It appears that cqlsh-tests on builds.apache.org on all branches stopped 
> working since we removed nosetests from the system environment. See e.g. 
> [here|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-trunk-cqlsh-tests/458/cython=no,jdk=JDK%201.8%20(latest),label=cassandra/console].
>  Looks like we either have to make nosetests available again or migrate to 
> pytest as we did with dtests. Giving pytest a quick try resulted in many 
> errors locally, but I haven't inspected them in detail yet. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to