summaryrefslogtreecommitdiff
path: root/tests/unittest/pass-unittests.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unittest/pass-unittests.cc')
-rw-r--r--tests/unittest/pass-unittests.cc43
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 {