[gcc r12-9284] diagnostics: Fix up selftests with $COLUMNS < 42 [PR108973]

Jakub Jelinek jakub@gcc.gnu.org
Sun Mar 19 05:30:27 GMT 2023


https://gcc.gnu.org/g:643985d91512fb8762623034d36d3f48a8b1c282

commit r12-9284-g643985d91512fb8762623034d36d3f48a8b1c282
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Sat Mar 4 09:48:17 2023 +0100

    diagnostics: Fix up selftests with $COLUMNS < 42 [PR108973]
    
    As mentioned in the PR, GCC's diagnostics self-tests fail if $COLUMNS < 42.
    Guarding each self-test with if (get_terminal_width () > 41) or similar
    would be a maintainance nightmare (PR has a patch to do so without
    reformatting to make it work for $COLUMNS in [30, 41] inclusive, but
    I'm afraid going down to $COLUMNS 1 would mean marking everything).
    Furthermore, the self-tests don't really emit stuff to the terminal,
    but into a buffer, so using get_terminal_width () for it seems
    inappropriate.  The following patch makes sure test_diagnostic_context
    constructor uses exactly 80 columns wide caret max width, of course
    some tests override it already if they want to test for behavior in narrower
    cases.
    
    2023-03-04  Jakub Jelinek  <jakub@redhat.com>
    
            PR testsuite/108973
            * selftest-diagnostic.cc
            (test_diagnostic_context::test_diagnostic_context): Set
            caret_max_width to 80.
    
    (cherry picked from commit 739e7ebb3d378ece25d64b39baae47c584253498)

Diff:
---
 gcc/selftest-diagnostic.cc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gcc/selftest-diagnostic.cc b/gcc/selftest-diagnostic.cc
index f0e615e49bc..12d0103355b 100644
--- a/gcc/selftest-diagnostic.cc
+++ b/gcc/selftest-diagnostic.cc
@@ -41,6 +41,7 @@ test_diagnostic_context::test_diagnostic_context ()
   show_column = true;
   start_span = start_span_cb;
   min_margin_width = 6;
+  caret_max_width = 80;
 }
 
 test_diagnostic_context::~test_diagnostic_context ()


More information about the Gcc-cvs mailing list