mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-12 23:09:45 +03:00
libcamera: yaml-parser: Add failing test for unexpected behavior
When accessing a nonexistent key on a dict the YamlObject returns an empty element. This element can happily be cast to a string. This is unexpected. For example the following statement: yamlDict["nonexistent"].get<string>("default") is expected to return "default" but actually returns "". Add a (failing) testcase for that behavior. Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
parent
f2842258d1
commit
f623f3ed64
2 changed files with 7 additions and 1 deletions
|
@ -73,7 +73,7 @@ internal_tests = [
|
|||
{'name': 'timer-thread', 'sources': ['timer-thread.cpp']},
|
||||
{'name': 'unique-fd', 'sources': ['unique-fd.cpp']},
|
||||
{'name': 'utils', 'sources': ['utils.cpp']},
|
||||
{'name': 'yaml-parser', 'sources': ['yaml-parser.cpp']},
|
||||
{'name': 'yaml-parser', 'sources': ['yaml-parser.cpp'], 'should_fail': true},
|
||||
]
|
||||
|
||||
internal_non_parallel_tests = [
|
||||
|
|
|
@ -536,6 +536,12 @@ protected:
|
|||
return TestFail;
|
||||
}
|
||||
|
||||
/* Test access to nonexistent member. */
|
||||
if (dictObj["nonexistent"].get<std::string>("default") != "default") {
|
||||
cerr << "Accessing nonexistent dict entry fails to return default" << std::endl;
|
||||
return TestFail;
|
||||
}
|
||||
|
||||
/* Make sure utils::map_keys() works on the adapter. */
|
||||
(void)utils::map_keys(dictObj.asDict());
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue