aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2021-01-15 13:26:39 -0500
committerDavid Malcolm <dmalcolm@redhat.com>2021-01-15 13:26:39 -0500
commita3128bf01289a243a9e0ebb4e34c23bcb04cb938 (patch)
tree3d934c670ba4d4a8d250761ac6fd03d4f44d8373 /gcc
parentadb520606ce3e1e1f8aa8c5d0c59a5f3196fc545 (diff)
downloadgcc-a3128bf01289a243a9e0ebb4e34c23bcb04cb938.zip
gcc-a3128bf01289a243a9e0ebb4e34c23bcb04cb938.tar.gz
gcc-a3128bf01289a243a9e0ebb4e34c23bcb04cb938.tar.bz2
bootstrap: fix failing diagnostic selftest on Windows [PR98696]
In one of the selftests in g:f10960558540636800cf5d3d6355969621fbc17e I didn't consider that paths can contain backslashes, which happens for the tempfiles on Windows hosts. gcc/ChangeLog: PR bootstrap/98696 * diagnostic.c (selftest::test_print_parseable_fixits_bytes_vs_display_columns): Escape the tempfile name when constructing the expected output.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/diagnostic.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c
index a024bc2..246d752 100644
--- a/gcc/diagnostic.c
+++ b/gcc/diagnostic.c
@@ -2188,7 +2188,12 @@ test_print_parseable_fixits_bytes_vs_display_columns ()
where.m_finish = linemap_position_for_column (line_table, 17);
richloc.add_fixit_replace (where, "color");
- const int buf_len = strlen (fname) + 100;
+ /* Escape fname. */
+ pretty_printer tmp_pp;
+ print_escaped_string (&tmp_pp, fname);
+ char *escaped_fname = xstrdup (pp_formatted_text (&tmp_pp));
+
+ const int buf_len = strlen (escaped_fname) + 100;
char *const expected = XNEWVEC (char, buf_len);
{
@@ -2196,7 +2201,7 @@ test_print_parseable_fixits_bytes_vs_display_columns ()
print_parseable_fixits (&pp, &richloc, DIAGNOSTICS_COLUMN_UNIT_BYTE,
tabstop);
snprintf (expected, buf_len,
- "fix-it:\"%s\":{1:12-1:18}:\"color\"\n", fname);
+ "fix-it:%s:{1:12-1:18}:\"color\"\n", escaped_fname);
ASSERT_STREQ (expected, pp_formatted_text (&pp));
}
{
@@ -2204,11 +2209,12 @@ test_print_parseable_fixits_bytes_vs_display_columns ()
print_parseable_fixits (&pp, &richloc, DIAGNOSTICS_COLUMN_UNIT_DISPLAY,
tabstop);
snprintf (expected, buf_len,
- "fix-it:\"%s\":{1:10-1:16}:\"color\"\n", fname);
+ "fix-it:%s:{1:10-1:16}:\"color\"\n", escaped_fname);
ASSERT_STREQ (expected, pp_formatted_text (&pp));
}
XDELETEVEC (expected);
+ free (escaped_fname);
}
/* Verify that