diff options
Diffstat (limited to 'tests/unittest/pass-unittests.cc')
-rw-r--r-- | tests/unittest/pass-unittests.cc | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/tests/unittest/pass-unittests.cc b/tests/unittest/pass-unittests.cc index 6408468..cda27aa 100644 --- a/tests/unittest/pass-unittests.cc +++ b/tests/unittest/pass-unittests.cc @@ -526,7 +526,6 @@ TEST(PassParserTest, pass_parser_get_each_resource_config_valid) { for (i = 0; i < (int)pass.num_resources; i++) { struct pass_resource *res = &pass.res[i]; - ret = pass_parser_get_each_resource_config(res, res->config_data.path_conf_file); EXPECT_EQ(ret, 0); @@ -539,6 +538,48 @@ TEST(PassParserTest, pass_parser_get_each_resource_config_valid) { pass_parser_put_resource_config(&pass); } +class ResourceConfigInvalid { +public: + const char *path_json; + + ResourceConfigInvalid( + const char *path_json_) : + path_json(path_json_) {} +}; + +class PassParserInvalidTest : public ::testing::TestWithParam<ResourceConfigInvalid> {}; + +INSTANTIATE_TEST_CASE_P (PassParserTest, PassParserInvalidTest, + ::testing::Values ( + ResourceConfigInvalid ("./scripts/invalid-level/pass.json"), + ResourceConfigInvalid ("./scripts/invalid-pmqos/pass.json"), + ResourceConfigInvalid ("./scripts/invalid-thermal/pass.json"), + ResourceConfigInvalid ("./scripts/invalid-thermal/pass1.json"), + ResourceConfigInvalid ("./scripts/invalid-header/pass.json"), + ResourceConfigInvalid ("./scripts/invalid-battery/pass.json"), + ResourceConfigInvalid ("./scripts/invalid-memory/pass.json") +)); + +TEST_P(PassParserInvalidTest, pass_parser_get_each_resource_config_invalid) { + auto param = GetParam(); + struct pass pass; + unsigned int i; + + int ret = pass_parser_get_resource_config(&pass, param.path_json); + EXPECT_EQ(ret, 0); + + for (i = 0; i < pass.num_resources; i++) { + struct pass_resource *res = &pass.res[i]; + ret = pass_parser_get_each_resource_config(res, + res->config_data.path_conf_file); + EXPECT_NE(ret, 0); + } + + for (i = 0; i < pass.num_resources; i++) + pass_parser_put_each_resource_config(&pass.res[i]); + pass_parser_put_resource_config(&pass); +} + int main(int argc, char *argv[]) { try { |