Patrick Bannister created CASSANDRA-14494:
---------------------------------------------

             Summary: Investigate possibility of a cqlsh terminfo
                 Key: CASSANDRA-14494
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14494
             Project: Cassandra
          Issue Type: Sub-task
         Environment: This behavior has been observed in xterm on CentOS 7.5 
platforms. The test_cqlsh_output.py unit tests 
(pylib/cqlshlib/test/test_cqlsh_output.py) are a good place to see it in action.
            Reporter: Patrick Bannister
             Fix For: 4.x


Summary: investigate whether we could use a cqlsh-specific terminfo file to 
prevent use of the set-meta-mode escape sequence in xterm without breaking 
colors. If it works, see if we can install it in an appropriate place using 
Python distutils. If yes to both, generate a cqlsh terminfo file and work it 
into the install process.

Long detailed explanation:

In some more recent environments, in Python REPL applications that use the 
readline module, the set meta mode escape sequence is output before each 
prompt. This escape sequence has caused problems for some applications, and in 
our case, some of our cqlsh unit tests 
(pylib/cqlshlib/test/test_cqlsh_output.py) choke on this output because of the 
way our tests are designed to detect the cqlsh prompt. This behavior was 
observed on a CentOS 7.5 platform.

The set-meta-mode escape sequence normally appears as "[?1034h" in output; it's 
normally defined as the bytes 1b 5b 3f 31 30 33 34 68.  The exact value of the 
escape sequence is configurable and may be found on a GNU/Linux platform by 
running the command:
{code:java}
tput smm | hexdump{code}
If this command gives no output, then the set meta mode sequence is not defined 
on this platform for the terminal in use. Refer to the xterm and terminfo man 
pages for more information on this sequence.

There are easier ways to solve this problem for the sake of the unit test, but 
if time allows, I'd like to look into this to achieve a more consistent output 
behavior for cqlsh on GNU/Linux platforms.



--
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