Skip to content

Many tests fail if FORCE_COLOR environment variable is set #117605

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

Closed
AlexWaygood opened this issue Apr 7, 2024 · 4 comments
Closed

Many tests fail if FORCE_COLOR environment variable is set #117605

AlexWaygood opened this issue Apr 7, 2024 · 4 comments
Labels
3.13 bugs and security fixes tests Tests in the Lib/test dir type-bug An unexpected behavior, bug, or error

Comments

@AlexWaygood
Copy link
Member

AlexWaygood commented Apr 7, 2024

Bug report

Bug description:

If you run FORCE_COLOR=1 make test, many tests fail. The failing tests are mostly due to tests which assert the contents of a traceback not expecting traceback to be colorised, but if you pass FORCE_COLOR=1, it seems like Python obediently colorises all traceback.

The full list of failing tests on my machine is:

20 tests failed:
    test.test_inspect.test_inspect test_capi test_cmd_line
    test_cmd_line_script test_compileall test_doctest test_eof
    test_exceptions test_idle test_interpreters test_regrtest
    test_repl test_runpy test_signal test_sys test_threading
    test_traceback test_tracemalloc test_unicodedata test_warnings

test_signal and test_ssl seem to fail on my machine without FORCE_COLOR being set, however, so those are probably unrelated.

Attached is the full output from running ./python.exe -E -m test_traceback -v (which is too long to paste into this issue body directly).

test_traceback.txt

CPython versions tested on:

CPython main branch

Operating systems tested on:

macOS

@AlexWaygood AlexWaygood added type-bug An unexpected behavior, bug, or error tests Tests in the Lib/test dir 3.13 bugs and security fixes labels Apr 7, 2024
@AlexWaygood
Copy link
Member Author

(cc. @pablogsal for colorised tracebacks)

@gpshead
Copy link
Member

gpshead commented Apr 7, 2024

python -E is defined as only ignoring PYTHON* environment variables. This is a good thing. https://docs.python.org/3/using/cmdline.html#cmdoption-E

I believe tests either need to be happy in the presence of arbitrary color control codes (barfing rainbows...), or our make test aka python -m test aka regrtest runner should explicitly un-configure the community standard not language specific COLOR variables.

@gpshead
Copy link
Member

gpshead commented Apr 7, 2024

everyone else seems to be discussing on the other issue #112730, so i suggest others do the same.

@AlexWaygood
Copy link
Member Author

PRs to fix this issue have also been linked to #112730, so I'll just close this as a duplicate 👍

(But I insist on claiming credit for raising the issue in the first place ;)

@AlexWaygood AlexWaygood closed this as not planned Won't fix, can't repro, duplicate, stale Apr 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.13 bugs and security fixes tests Tests in the Lib/test dir type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

2 participants