I have always used text-oriented screen displays because of their simplicity. You can also use a graphical UI package.
One behavior of text-oriented displays is that the screen can "flash" when displaying. To prevent that the text is appended to a single variable as it is built, and it is then displayed on the screen with a single "print" statement.
You will have to evaluate whether to lock the building of the display. On one hand it might be acceptable to have a 3-second irregularity caused by accessing a table without a lock. But, if the test platform fails while displaying a table being compressed for example, that would be unacceptable.