summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDhaval Giani <dhaval@linux.vnet.ibm.com>2008-12-22 18:50:46 +0000
committerDhaval Giani <dhaval@linux.vnet.ibm.com>2008-12-22 18:50:46 +0000
commitfdaf63f9d49e4ed53a6dc9238856cbf8c663c2e1 (patch)
tree0dbe9fb576a55a08c1656b258ae3c2078125e174 /tests
parent2517466058ffb183ed83cd1b05f6f51b7a511a56 (diff)
downloadlibcg-fdaf63f9d49e4ed53a6dc9238856cbf8c663c2e1.tar.gz
libcg-fdaf63f9d49e4ed53a6dc9238856cbf8c663c2e1.tar.xz
libcg-fdaf63f9d49e4ed53a6dc9238856cbf8c663c2e1.zip
libcgroup: libcgroup testcases for cgroup_get_cgroup
From: Sudhir Kumar <skumar@linux.vnet.ibm.com> This atch adds a new testcase for api cgroup_get_cgroup() for single mount case. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@282 4f4bb910-9a46-0410-90c8-c897d4f1cd53
Diffstat (limited to 'tests')
-rw-r--r--tests/libcgrouptest.h1
-rw-r--r--tests/libcgrouptest01.c38
2 files changed, 38 insertions, 1 deletions
diff --git a/tests/libcgrouptest.h b/tests/libcgrouptest.h
index de2f67b..73b25e3 100644
--- a/tests/libcgrouptest.h
+++ b/tests/libcgrouptest.h
@@ -84,6 +84,7 @@ void test_cgroup_attach_task(int retcode, struct cgroup *cgroup1,
/* API test functions end here */
void test_cgroup_compare_cgroup(int ctl1, int ctl2, int i);
+void test_cgroup_get_cgroup(int i);
void get_controllers(const char *name, int *exist);
static int group_exist(char *path_group);
static int set_controller(int controller, char *controller_name,
diff --git a/tests/libcgrouptest01.c b/tests/libcgrouptest01.c
index 5ec0b68..2f71f2f 100644
--- a/tests/libcgrouptest01.c
+++ b/tests/libcgrouptest01.c
@@ -381,8 +381,17 @@ int main(int argc, char *argv[])
strncpy(extra, "\n", SIZE);
+ /* Test14: Test cgroup_get_cgroup() api
+ * The group group1 has been created and modified in the
+ * filesystem. Read it using the api and check if the values
+ * are correct as we know all the control values now.
+ * WARN: If any of the previous api fails and control reaches
+ * here, this api also will fail
+ */
+ test_cgroup_get_cgroup(14);
+
/*
- * Test14: delete cgroup
+ * Test15: delete cgroup
* Exp outcome: zero return value
*/
retval = cgroup_delete_cgroup(cgroup1, 1);
@@ -1366,6 +1375,7 @@ void set_info_msgs()
case 15:
strncpy(info[k], " Group not deleted globaly\n", SIZE);
break;
+ /* In case there is no extra info messages to be printed */
case 19:
strncpy(info[k], " \n", SIZE);
break;
@@ -1450,3 +1460,29 @@ void test_cgroup_compare_cgroup(int ctl1, int ctl2, int i)
cgroup_free(&cgroup1);
cgroup_free(&cgroup2);
}
+
+void test_cgroup_get_cgroup(int i)
+{
+ struct cgroup *cgroup_filled;
+ int ret;
+
+ /* Test with nullcgroup first */
+ ret = cgroup_get_cgroup(NULL);
+ if (ret == ECGROUPNOTALLOWED)
+ message(i++, PASS, "get_cgroup()", ret, info[0]);
+ else
+ message(i++, FAIL, "get_cgroup()", ret, info[0]);
+
+ /* Test with name filled cgroup */
+ cgroup_filled = cgroup_new_cgroup("group1");
+ if (!cgroup_filled)
+ message(i++, FAIL, "new_cgroup()", 0, info[19]);
+
+ ret = cgroup_get_cgroup(cgroup_filled);
+ if (!ret)
+ message(i++, PASS, "get_cgroup()", ret, info[19]);
+ else
+ message(i++, FAIL, "get_cgroup()", ret, info[19]);
+
+ cgroup_free(&cgroup_filled);
+}