acutest
acutest copied to clipboard
Make the output adapt to terminal size
Make the output, especially as generated by the macros TEST_CHECK(), TEST_MSG() and TEST_DUMP(), automatically adapt to the current terminal size, so that it looks good in a reasonably small terminal window but can use effectively more space if the terminal window is big.
This should involve:
- Explore what API is available for the purpose on the platform of your choice.
- A pre-processor magic to enable the new platform-specific code only on the given platform.
- Breaking the long outputs into multiple lines, depending on the width of the terminal.
- And still respect the current indentation level, as set via
test_line_indent__().
I think this is mostly getenv("COLUMNS") and set a handler for SIGWINCH?
Actually, so far I never did anything like that. But yes, I think so. For Unix/Posix platforms, at least.
I am also not sure whether tracking SIGWINCH is worth the added complexity for something of Acutest's nature. Reading $COLUMNS during initialization might be good enough.