Fix libvintf_test KernelParserConfig tests
Tests should check the return value of process(...). Return it
from processData for further checks.
Test: libvintf_test
Bug: 38324908
Change-Id: I8acdaa9ea25c9451263a929e5009e41714a24262
diff --git a/test/main.cpp b/test/main.cpp
index cf537c4..179407f 100644
--- a/test/main.cpp
+++ b/test/main.cpp
@@ -1310,16 +1310,19 @@
EXPECT_EQ(matrix.getXmlSchemaPath("media_profile", {2, 0}), "");
}
-static KernelConfigParser processData(const std::string& data, bool processComments) {
+std::pair<KernelConfigParser, status_t> processData(const std::string& data, bool processComments) {
KernelConfigParser parser(processComments);
const char* p = data.c_str();
size_t n = 0;
size_t chunkSize;
+ status_t status = OK;
for (; n < data.size(); p += chunkSize, n += chunkSize) {
chunkSize = std::min<size_t>(5, data.size() - n);
- parser.process(p, chunkSize);
+ if ((status = parser.process(p, chunkSize)) != OK) {
+ break;
+ }
}
- return parser;
+ return {std::move(parser), status};
}
TEST_F(LibVintfTest, KernelConfigParser) {
@@ -1329,8 +1332,9 @@
"CONFIG_ONE=1\n"
"CONFIG_Y=y\n"
"CONFIG_STR=\"string\"\n";
- KernelConfigParser parser = processData(data, false /* processComments */);
- const auto& configs = parser.configs();
+ auto pair = processData(data, false /* processComments */);
+ ASSERT_EQ(OK, pair.second) << pair.first.error();
+ const auto& configs = pair.first.configs();
EXPECT_EQ(configs.find("CONFIG_ONE")->second, "1");
EXPECT_EQ(configs.find("CONFIG_Y")->second, "y");
@@ -1347,8 +1351,9 @@
"CONFIG_STR=string\n"
"# ignore_thiscomment\n"
"# CONFIG_NOT_SET2 is not set\n";
- KernelConfigParser parser = processData(data, true /* processComments */);
- const auto& configs = parser.configs();
+ auto pair = processData(data, true /* processComments */);
+ ASSERT_EQ(OK, pair.second) << pair.first.error();
+ const auto& configs = pair.first.configs();
EXPECT_EQ(configs.find("CONFIG_ONE")->second, "1");
EXPECT_EQ(configs.find("CONFIG_Y")->second, "y");