lidavidm commented on a change in pull request #10321: URL: https://github.com/apache/arrow/pull/10321#discussion_r635534220
########## File path: cpp/src/arrow/csv/parser_test.cc ########## @@ -536,22 +537,42 @@ TEST(BlockParser, QuotesSpecial) { TEST(BlockParser, MismatchingNumColumns) { uint32_t out_size; { - BlockParser parser(ParseOptions::Defaults()); + BlockParser parser(ParseOptions::Defaults(), -1, 0 /* first_row */); auto csv = MakeCSVData({"a,b\nc\n"}); Status st = Parse(parser, csv, &out_size); ASSERT_RAISES(Invalid, st); + ASSERT_NE(std::string::npos, + st.message().find("CSV parse error: Row 1: Expected 2 columns, got 1: c")) + << st.message(); } { - BlockParser parser(ParseOptions::Defaults(), 2 /* num_cols */); + BlockParser parser(ParseOptions::Defaults(), 2 /* num_cols */, 0 /* first_row */); auto csv = MakeCSVData({"a\n"}); Status st = Parse(parser, csv, &out_size); ASSERT_RAISES(Invalid, st); + ASSERT_NE(std::string::npos, + st.message().find("CSV parse error: Row 0: Expected 2 columns, got 1: a")) + << st.message(); } { - BlockParser parser(ParseOptions::Defaults(), 2 /* num_cols */); + BlockParser parser(ParseOptions::Defaults(), 2 /* num_cols */, 50 /* first_row */); auto csv = MakeCSVData({"a,b,c\n"}); Status st = Parse(parser, csv, &out_size); ASSERT_RAISES(Invalid, st); + ASSERT_NE( + std::string::npos, + st.message().find("CSV parse error: Row 50: Expected 2 columns, got 3: a,b,c")) + << st.message(); + } + // No row number + { + BlockParser parser(ParseOptions::Defaults(), 2 /* num_cols */, -1); + auto csv = MakeCSVData({"a\n"}); + Status st = Parse(parser, csv, &out_size); + ASSERT_RAISES(Invalid, st); + ASSERT_NE(std::string::npos, + st.message().find("CSV parse error: Expected 2 columns, got 1: a")) Review comment: Sorry, just a nit, you can use gmock in this block of tests too. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org