Add failing CRLF define formatter regression. Issue #2607: CRLF macro definitions emit a doubled carriage return and fail convergence.
diff --git a/verible/verilog/formatting/formatter_test.cc b/verible/verilog/formatting/formatter_test.cc index 16e0572..f251f9e 100644 --- a/verible/verilog/formatting/formatter_test.cc +++ b/verible/verilog/formatting/formatter_test.cc
@@ -21249,6 +21249,22 @@ } } +// Regression for https://github.com/chipsalliance/verible/issues/2607: +// A CRLF macro definition must keep a single line terminator so formatting +// converges. +TEST(FormatterEndToEndTest, DefineCrlfConverges) { + static constexpr std::string_view kInput = + "`define A x.y\r\n" + "module m;\r\n" + "endmodule\r\n"; + FormatStyle style; + style.line_terminator = verible::LineTerminatorOptionStyle::kAuto; + std::ostringstream stream; + const auto status = FormatVerilog(kInput, "<filename>", style, stream); + EXPECT_OK(status) << status.message(); + EXPECT_EQ(stream.str(), kInput); +} + } // namespace } // namespace formatter } // namespace verilog