Home - Summaries: (main) : (py3.11) : Everything - Nightly builds - Benchmarks - RPython - Builders - About

pypy.interpreter.test.apptest_traceback:test_colors_in_traceback

def test_colors_in_traceback():
        import os
        def division_by_zero(a, b):
            return (
                a      + b / 0 # abc
            )
    
        old_value = os.environ.get('FORCE_COLOR', None)
        os.environ['FORCE_COLOR'] = '1'
        try:
            from _colorize import can_colorize, ANSIColors
            assert can_colorize()
            with raises(ZeroDivisionError) as exc_info:
                division_by_zero(1, 2)
    
            original_std_err = sys.stderr
            sys.stderr = buffer = Buffer()
            original_exc_format = sys.excepthook(
                exc_info.type, exc_info.value, exc_info.value.__traceback__
            )
            sys.stderr = original_std_err
            expected_exc_format = [
                f'    a      + {ANSIColors.BOLD_RED}b / 0{ANSIColors.RESET} # abc',
                f'             {ANSIColors.BOLD_RED}~~^~~{ANSIColors.RESET}',
                f'{ANSIColors.BOLD_MAGENTA}ZeroDivisionError{ANSIColors.RESET}: {ANSIColors.MAGENTA}division by zero{ANSIColors.RESET}'
            ]
>           assert buffer.get_lines()[-3:] == expected_exc_format
E           AssertionError: assert ['    a      ...sion by zero'] == ['    a      ... zero\x1b[0m']
E             At index 0 diff: '    a      + b / 0 # abc' != '    a      + \x1b[1;31mb / 0\x1b[0m # abc'
E             Use -v to get the full diff

../build/pypy/interpreter/test/apptest_traceback.py:192: AssertionError
builder: pypy-c-jit-linux-x86-64 build #11848+
test: pypy.interpreter.test.apptest_traceback:test_colors_in_traceback