Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4 tests fail #251

Open
yurivict opened this issue Mar 10, 2023 · 2 comments
Open

4 tests fail #251

yurivict opened this issue Mar 10, 2023 · 2 comments
Labels

Comments

@yurivict
Copy link

=============================================================================================== FAILURES ================================================================================================
___________________________________________________________________________________ test_number_of_colors_without_tty ___________________________________________________________________________________

    @pytest.mark.skipif(IS_WINDOWS, reason="requires more than 1 tty")
    def test_number_of_colors_without_tty():
        """``number_of_colors`` should return 0 when there's no tty."""
        @as_subprocess
        def child_256_nostyle():
            t = TestTerminal(stream=six.StringIO())
            assert (t.number_of_colors == 0)
    
        @as_subprocess
        def child_256_forcestyle():
            t = TestTerminal(stream=six.StringIO(), force_styling=True)
            assert (t.number_of_colors == 256)
    
        @as_subprocess
        def child_8_forcestyle():
            # 'ansi' on freebsd returns 0 colors. We use 'cons25', compatible with its kernel tty.c
            kind = 'cons25' if platform.system().lower() == 'freebsd' else 'ansi'
            t = TestTerminal(kind=kind, stream=six.StringIO(),
                             force_styling=True)
            assert (t.number_of_colors == 8)
    
        @as_subprocess
        def child_0_forcestyle():
            t = TestTerminal(kind='vt220', stream=six.StringIO(),
                             force_styling=True)
            assert (t.number_of_colors == 0)
    
>       child_0_forcestyle()

tests/test_core.py:121: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <tests.accessories.as_subprocess object at 0x8757f8eb0>, args = (), kwargs = {}, pid_testrunner = 78657, pid = 79420, master_fd = 11
exc_output = '  File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/accessories.py", line 81, in __call__\r\n    self....Error: assert 16777216 == 0\r\n +  where 16777216 = <blessed.terminal.Terminal object at 0x8757f8cd0>.number_of_colors'
decoder = <encodings.utf_8.IncrementalDecoder object at 0x8757f8ac0>

    def __call__(self, *args, **kwargs):  # pylint: disable=too-many-locals, too-complex
        if IS_WINDOWS:
            self.func(*args, **kwargs)
            return
    
        pid_testrunner = os.getpid()
        pid, master_fd = pty.fork()
        if pid == self._CHILD_PID:
            # child process executes function, raises exception
            # if failed, causing a non-zero exit code, using the
            # protected _exit() function of ``os``; to prevent the
            # 'SystemExit' exception from being thrown.
            cov = init_subproc_coverage(
                "@as_subprocess-{pid};{func_name}(*{args}, **{kwargs})"
                .format(pid=os.getpid(), func_name=self.func,
                        args=args, kwargs=kwargs))
            try:
                self.func(*args, **kwargs)
            except Exception:  # pylint: disable=broad-except
                e_type, e_value, e_tb = sys.exc_info()
                o_err = [line.rstrip().encode('utf-8') for line in traceback.format_tb(e_tb)]
                o_err.append(('-=' * 20).encode('ascii'))
                o_err.extend([_exc.rstrip().encode('utf-8') for _exc in
                              traceback.format_exception_only(
                                  e_type, e_value)])
                os.write(sys.__stdout__.fileno(), b'\n'.join(o_err))
                os.close(sys.__stdout__.fileno())
                os.close(sys.__stderr__.fileno())
                os.close(sys.__stdin__.fileno())
                if cov is not None:
                    cov.stop()
                    cov.save()
                os._exit(1)
            else:
                if cov is not None:
                    cov.stop()
                    cov.save()
                os._exit(0)
    
        # detect rare fork in test runner, when bad bugs happen
        if pid_testrunner != os.getpid():
            print('TEST RUNNER HAS FORKED, {0}=>{1}: EXIT'
                  .format(pid_testrunner, os.getpid()), file=sys.stderr)
            os._exit(1)
    
        exc_output = six.text_type()
        decoder = codecs.getincrementaldecoder(self.encoding)()
        while True:
            try:
                _exc = os.read(master_fd, 65534)
            except OSError:
                # linux EOF
                break
            if not _exc:
                # bsd EOF
                break
            exc_output += decoder.decode(_exc)
    
        # parent process asserts exit code is 0, causing test
        # to fail if child process raised an exception/assertion
        pid, status = os.waitpid(pid, 0)
        os.close(master_fd)
    
        # Display any output written by child process
        # (esp. any AssertionError exceptions written to stderr).
        exc_output_msg = 'Output in child process:\n%s\n%s\n%s' % (
            u'=' * 40, exc_output, u'=' * 40,)
>       assert exc_output == '', exc_output_msg
E       AssertionError: Output in child process:
E       ========================================
E         File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/accessories.py", line 81, in __call__
E           self.func(*args, **kwargs)
E         File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/test_core.py", line 119, in child_0_forcestyle
E           assert (t.number_of_colors == 0)
E       -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
E       AssertionError: assert 16777216 == 0
E        +  where 16777216 = <blessed.terminal.Terminal object at 0x8757f8cd0>.number_of_colors
E       ========================================

tests/accessories.py:131: AssertionError
____________________________________________________________________________________ test_number_of_colors_with_tty _____________________________________________________________________________________

    @pytest.mark.skipif(IS_WINDOWS, reason="requires more than 1 tty")
    def test_number_of_colors_with_tty():
        """test ``number_of_colors`` 0, 8, and 256."""
        @as_subprocess
        def child_256():
            t = TestTerminal()
            assert (t.number_of_colors == 256)
    
        @as_subprocess
        def child_8():
            # 'ansi' on freebsd returns 0 colors. We use 'cons25', compatible with its kernel tty.c
            kind = 'cons25' if platform.system().lower() == 'freebsd' else 'ansi'
            t = TestTerminal(kind=kind)
            assert (t.number_of_colors == 8)
    
        @as_subprocess
        def child_0():
            t = TestTerminal(kind='vt220')
            assert (t.number_of_colors == 0)
    
>       child_0()

tests/test_core.py:147: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <tests.accessories.as_subprocess object at 0x8773c4760>, args = (), kwargs = {}, pid_testrunner = 78657, pid = 79493, master_fd = 11
exc_output = '  File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/accessories.py", line 81, in __call__\r\n    self....Error: assert 16777216 == 0\r\n +  where 16777216 = <blessed.terminal.Terminal object at 0x87cf30970>.number_of_colors'
decoder = <encodings.utf_8.IncrementalDecoder object at 0x8773c4790>

    def __call__(self, *args, **kwargs):  # pylint: disable=too-many-locals, too-complex
        if IS_WINDOWS:
            self.func(*args, **kwargs)
            return
    
        pid_testrunner = os.getpid()
        pid, master_fd = pty.fork()
        if pid == self._CHILD_PID:
            # child process executes function, raises exception
            # if failed, causing a non-zero exit code, using the
            # protected _exit() function of ``os``; to prevent the
            # 'SystemExit' exception from being thrown.
            cov = init_subproc_coverage(
                "@as_subprocess-{pid};{func_name}(*{args}, **{kwargs})"
                .format(pid=os.getpid(), func_name=self.func,
                        args=args, kwargs=kwargs))
            try:
                self.func(*args, **kwargs)
            except Exception:  # pylint: disable=broad-except
                e_type, e_value, e_tb = sys.exc_info()
                o_err = [line.rstrip().encode('utf-8') for line in traceback.format_tb(e_tb)]
                o_err.append(('-=' * 20).encode('ascii'))
                o_err.extend([_exc.rstrip().encode('utf-8') for _exc in
                              traceback.format_exception_only(
                                  e_type, e_value)])
                os.write(sys.__stdout__.fileno(), b'\n'.join(o_err))
                os.close(sys.__stdout__.fileno())
                os.close(sys.__stderr__.fileno())
                os.close(sys.__stdin__.fileno())
                if cov is not None:
                    cov.stop()
                    cov.save()
                os._exit(1)
            else:
                if cov is not None:
                    cov.stop()
                    cov.save()
                os._exit(0)
    
        # detect rare fork in test runner, when bad bugs happen
        if pid_testrunner != os.getpid():
            print('TEST RUNNER HAS FORKED, {0}=>{1}: EXIT'
                  .format(pid_testrunner, os.getpid()), file=sys.stderr)
            os._exit(1)
    
        exc_output = six.text_type()
        decoder = codecs.getincrementaldecoder(self.encoding)()
        while True:
            try:
                _exc = os.read(master_fd, 65534)
            except OSError:
                # linux EOF
                break
            if not _exc:
                # bsd EOF
                break
            exc_output += decoder.decode(_exc)
    
        # parent process asserts exit code is 0, causing test
        # to fail if child process raised an exception/assertion
        pid, status = os.waitpid(pid, 0)
        os.close(master_fd)
    
        # Display any output written by child process
        # (esp. any AssertionError exceptions written to stderr).
        exc_output_msg = 'Output in child process:\n%s\n%s\n%s' % (
            u'=' * 40, exc_output, u'=' * 40,)
>       assert exc_output == '', exc_output_msg
E       AssertionError: Output in child process:
E       ========================================
E         File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/accessories.py", line 81, in __call__
E           self.func(*args, **kwargs)
E         File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/test_core.py", line 145, in child_0
E           assert (t.number_of_colors == 0)
E       -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
E       AssertionError: assert 16777216 == 0
E        +  where 16777216 = <blessed.terminal.Terminal object at 0x87cf30970>.number_of_colors
E       ========================================

tests/accessories.py:131: AssertionError
______________________________________________________________________________________ test_truncate_padding[ansi] ______________________________________________________________________________________

all_terms = 'ansi'

    def test_truncate_padding(all_terms):
        """Ensure that terminal.truncate has the correct behaviour for wide characters."""
        @as_subprocess
        def child(kind):
            from blessed import Terminal
            term = Terminal(kind)
            test_right_string = term.blue(u"one" + term.move_right(5) + u"two")
            assert term.truncate(test_right_string, 9) == term.blue(u"one     t")
    
            test_bs_string = term.blue(u"one\b\b\btwo")
            assert term.truncate(test_bs_string, 3) == term.blue(u"two")
    
        if all_terms != 'vtwin10':
            # padding doesn't work the same on windows !
>           child(all_terms)

tests/test_sequences.py:716: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <tests.accessories.as_subprocess object at 0x88f1ed2b0>, args = ('ansi',), kwargs = {}, pid_testrunner = 78657, pid = 81368, master_fd = 11
exc_output = '  File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/accessories.py", line 81, in __call__\r\n    self....=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r\nAssertionError: assert \'onetwo\' == \'one     t\'\r\n  - one     t\r\n  + onetwo'
decoder = <encodings.utf_8.IncrementalDecoder object at 0x88f1ede80>

    def __call__(self, *args, **kwargs):  # pylint: disable=too-many-locals, too-complex
        if IS_WINDOWS:
            self.func(*args, **kwargs)
            return
    
        pid_testrunner = os.getpid()
        pid, master_fd = pty.fork()
        if pid == self._CHILD_PID:
            # child process executes function, raises exception
            # if failed, causing a non-zero exit code, using the
            # protected _exit() function of ``os``; to prevent the
            # 'SystemExit' exception from being thrown.
            cov = init_subproc_coverage(
                "@as_subprocess-{pid};{func_name}(*{args}, **{kwargs})"
                .format(pid=os.getpid(), func_name=self.func,
                        args=args, kwargs=kwargs))
            try:
                self.func(*args, **kwargs)
            except Exception:  # pylint: disable=broad-except
                e_type, e_value, e_tb = sys.exc_info()
                o_err = [line.rstrip().encode('utf-8') for line in traceback.format_tb(e_tb)]
                o_err.append(('-=' * 20).encode('ascii'))
                o_err.extend([_exc.rstrip().encode('utf-8') for _exc in
                              traceback.format_exception_only(
                                  e_type, e_value)])
                os.write(sys.__stdout__.fileno(), b'\n'.join(o_err))
                os.close(sys.__stdout__.fileno())
                os.close(sys.__stderr__.fileno())
                os.close(sys.__stdin__.fileno())
                if cov is not None:
                    cov.stop()
                    cov.save()
                os._exit(1)
            else:
                if cov is not None:
                    cov.stop()
                    cov.save()
                os._exit(0)
    
        # detect rare fork in test runner, when bad bugs happen
        if pid_testrunner != os.getpid():
            print('TEST RUNNER HAS FORKED, {0}=>{1}: EXIT'
                  .format(pid_testrunner, os.getpid()), file=sys.stderr)
            os._exit(1)
    
        exc_output = six.text_type()
        decoder = codecs.getincrementaldecoder(self.encoding)()
        while True:
            try:
                _exc = os.read(master_fd, 65534)
            except OSError:
                # linux EOF
                break
            if not _exc:
                # bsd EOF
                break
            exc_output += decoder.decode(_exc)
    
        # parent process asserts exit code is 0, causing test
        # to fail if child process raised an exception/assertion
        pid, status = os.waitpid(pid, 0)
        os.close(master_fd)
    
        # Display any output written by child process
        # (esp. any AssertionError exceptions written to stderr).
        exc_output_msg = 'Output in child process:\n%s\n%s\n%s' % (
            u'=' * 40, exc_output, u'=' * 40,)
>       assert exc_output == '', exc_output_msg
E       AssertionError: Output in child process:
E       ========================================
E         File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/accessories.py", line 81, in __call__
E           self.func(*args, **kwargs)
E         File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/test_sequences.py", line 709, in child
E           assert term.truncate(test_right_string, 9) == term.blue(u"one     t")
E       -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
E       AssertionError: assert 'onetwo' == 'one     t'
E         - one     t
E         + onetwo
E       ========================================

tests/accessories.py:131: AssertionError
_____________________________________________________________________________________ test_truncate_padding[linux] ______________________________________________________________________________________

all_terms = 'linux'

    def test_truncate_padding(all_terms):
        """Ensure that terminal.truncate has the correct behaviour for wide characters."""
        @as_subprocess
        def child(kind):
            from blessed import Terminal
            term = Terminal(kind)
            test_right_string = term.blue(u"one" + term.move_right(5) + u"two")
            assert term.truncate(test_right_string, 9) == term.blue(u"one     t")
    
            test_bs_string = term.blue(u"one\b\b\btwo")
            assert term.truncate(test_bs_string, 3) == term.blue(u"two")
    
        if all_terms != 'vtwin10':
            # padding doesn't work the same on windows !
>           child(all_terms)

tests/test_sequences.py:716: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <tests.accessories.as_subprocess object at 0x8760a7370>, args = ('linux',), kwargs = {}, pid_testrunner = 78657, pid = 81375, master_fd = 11
exc_output = '  File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/accessories.py", line 81, in __call__\r\n    self....x1b[0;10m\'\r\n  - \x1b[34mone     t\x1b[0;10m\r\n  ?         -----\r\n  + \x1b[34monetwo\x1b[0;10m\r\n  ?          ++'
decoder = <encodings.utf_8.IncrementalDecoder object at 0x8760a72b0>

    def __call__(self, *args, **kwargs):  # pylint: disable=too-many-locals, too-complex
        if IS_WINDOWS:
            self.func(*args, **kwargs)
            return
    
        pid_testrunner = os.getpid()
        pid, master_fd = pty.fork()
        if pid == self._CHILD_PID:
            # child process executes function, raises exception
            # if failed, causing a non-zero exit code, using the
            # protected _exit() function of ``os``; to prevent the
            # 'SystemExit' exception from being thrown.
            cov = init_subproc_coverage(
                "@as_subprocess-{pid};{func_name}(*{args}, **{kwargs})"
                .format(pid=os.getpid(), func_name=self.func,
                        args=args, kwargs=kwargs))
            try:
                self.func(*args, **kwargs)
            except Exception:  # pylint: disable=broad-except
                e_type, e_value, e_tb = sys.exc_info()
                o_err = [line.rstrip().encode('utf-8') for line in traceback.format_tb(e_tb)]
                o_err.append(('-=' * 20).encode('ascii'))
                o_err.extend([_exc.rstrip().encode('utf-8') for _exc in
                              traceback.format_exception_only(
                                  e_type, e_value)])
                os.write(sys.__stdout__.fileno(), b'\n'.join(o_err))
                os.close(sys.__stdout__.fileno())
                os.close(sys.__stderr__.fileno())
                os.close(sys.__stdin__.fileno())
                if cov is not None:
                    cov.stop()
                    cov.save()
                os._exit(1)
            else:
                if cov is not None:
                    cov.stop()
                    cov.save()
                os._exit(0)
    
        # detect rare fork in test runner, when bad bugs happen
        if pid_testrunner != os.getpid():
            print('TEST RUNNER HAS FORKED, {0}=>{1}: EXIT'
                  .format(pid_testrunner, os.getpid()), file=sys.stderr)
            os._exit(1)
    
        exc_output = six.text_type()
        decoder = codecs.getincrementaldecoder(self.encoding)()
        while True:
            try:
                _exc = os.read(master_fd, 65534)
            except OSError:
                # linux EOF
                break
            if not _exc:
                # bsd EOF
                break
            exc_output += decoder.decode(_exc)
    
        # parent process asserts exit code is 0, causing test
        # to fail if child process raised an exception/assertion
        pid, status = os.waitpid(pid, 0)
        os.close(master_fd)
    
        # Display any output written by child process
        # (esp. any AssertionError exceptions written to stderr).
        exc_output_msg = 'Output in child process:\n%s\n%s\n%s' % (
            u'=' * 40, exc_output, u'=' * 40,)
>       assert exc_output == '', exc_output_msg
E       AssertionError: Output in child process:
E       ========================================
E         File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/accessories.py", line 81, in __call__
E           self.func(*args, **kwargs)
E         File "/usr/ports/devel/py-blessed/work-py39/blessed-1.20.0/tests/test_sequences.py", line 709, in child
E           assert term.truncate(test_right_string, 9) == term.blue(u"one     t")
E       -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
E       AssertionError: assert '\x1b[34monetwo\x1b[0;10m' == '\x1b[34mone     t\x1b[0;10m'
E         - one     t
E         ?         -----
E         + onetwo
E         ?          ++
E       ========================================

tests/accessories.py:131: AssertionError
======================================================================================== short test summary info ========================================================================================
SKIPPED [1] tests/test_full_keyboard.py:40: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:85: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:135: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:147: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:159: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:172: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:185: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:199: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:213: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:244: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:284: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:317: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:351: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:379: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:410: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:444: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:478: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:511: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:546: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:581: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:596: TEST_RAW not specified
SKIPPED [1] tests/test_full_keyboard.py:621: TEST_RAW not specified
SKIPPED [1] tests/test_full_keyboard.py:649: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:664: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:684: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:700: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:715: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:727: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:741: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:757: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:769: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:783: Timing-sensitive tests please do not run on build farms.
SKIPPED [1] tests/test_full_keyboard.py:799: Timing-sensitive tests please do not run on build farms.
========================================================================= 4 failed, 381 passed, 33 skipped in 102.03s (0:01:42) =========================================================================
*** Error code 1

Version: 1.20.0
Python-3.9
FreeBSD 13.1

@avylove
Copy link
Collaborator

avylove commented Mar 10, 2023

For the first two, it looks like colors for vt220 on might be set for 24bit color, though I can't reproduce it. I think we picked that one expecting it shouldn't have color, so I wonder if we should mock it or try xterm-mono? I assume it's not the COLORTERM environment variable bleeding through since that would break earlier.

@yurivict, can you check this on your system?

>>> from blessed import Terminal
>>> term = Terminal(kind='vt220')
>>> term.number_of_colors
0

For the second two, it looks like move_right() (cuf) isn't working correctly on linux and ansi terminal on FreeBSD. When we test it move_right() we don't assume the terminals support it, so maybe we shouldn't assume it here.

@jquast jquast added the bug label Mar 10, 2023
@avylove avylove mentioned this issue Jun 16, 2023
@avylove
Copy link
Collaborator

avylove commented Jun 16, 2023

Put in a fix for the second two in the #255. It basically just gates that specific assert if move_right() produces an empty string.

Wondering if we should gate the number_of_colors issues as well. It would basically require checking COLORTERM and curses.tigetnum('colors'). But I'm hesitant to try anything since I can't reproduce the issue and @yurivict hasn't responded. It would be good to know which one is causing it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants