diff options
author | Dhaval Giani <dhaval@linux.vnet.ibm.com> | 2009-01-09 16:26:15 +0000 |
---|---|---|
committer | Dhaval Giani <dhaval@linux.vnet.ibm.com> | 2009-01-09 16:26:15 +0000 |
commit | 216ef3fa583b751c3f76f8812f947fe3b61c58d9 (patch) | |
tree | 8f9740b493eacc6914571dcc9e24a18162dbcd41 | |
parent | 8b53bf5107f1e7540e91972b2bebf8484fa43fa5 (diff) | |
download | libcg-216ef3fa583b751c3f76f8812f947fe3b61c58d9.tar.gz libcg-216ef3fa583b751c3f76f8812f947fe3b61c58d9.tar.xz libcg-216ef3fa583b751c3f76f8812f947fe3b61c58d9.zip |
libcgrouptest:attach exclusive pid support in test_cgroup_attach_task() function
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
The function test_attach_task_pid() was attaching the process calling the
function to a group and did not have support to take any pid for attaching
it to a group. This patch does that.
Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com>
Acked-by: Dhaval Giani <dhaval@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@310 4f4bb910-9a46-0410-90c8-c897d4f1cd53
-rw-r--r-- | tests/libcgrouptest.h | 4 | ||||
-rw-r--r-- | tests/libcgrouptest01.c | 21 | ||||
-rw-r--r-- | tests/test_functions.c | 14 |
3 files changed, 24 insertions, 15 deletions
diff --git a/tests/libcgrouptest.h b/tests/libcgrouptest.h index 62f0c68..36edc26 100644 --- a/tests/libcgrouptest.h +++ b/tests/libcgrouptest.h @@ -110,8 +110,8 @@ extern char mountpoint[], mountpoint2[]; /* Functions to test each API */ void test_cgroup_init(int retcode, int i); void test_cgroup_attach_task(int retcode, struct cgroup *cgroup1, - const char *group1, const char *group2, - int k, int i); + const char *group1, const char *group2, pid_t pid, + int k, int i); struct cgroup *create_new_cgroup_ds(int ctl, const char *grpname, int value_type, struct cntl_val_t cval, struct uid_gid_t ids, int i); void test_cgroup_create_cgroup(int retcode, struct cgroup *cgrp, diff --git a/tests/libcgrouptest01.c b/tests/libcgrouptest01.c index 2b1fed3..a4a492d 100644 --- a/tests/libcgrouptest01.c +++ b/tests/libcgrouptest01.c @@ -105,7 +105,7 @@ int main(int argc, char *argv[]) */ test_cgroup_attach_task(ECGROUPNOTINITIALIZED, nullcgroup, - NULL, NULL, NULLGRP, 2); + NULL, NULL, 0, NULLGRP, 2); /* * Test03: Create a valid cgroup ds and check all return values @@ -165,7 +165,7 @@ int main(int argc, char *argv[]) */ test_cgroup_attach_task(ECGROUPNOTINITIALIZED, nullcgroup, - NULL, NULL, NULLGRP, 1); + NULL, NULL, 0, NULLGRP, 1); /* * Test02: call cgroup_init() and check return values @@ -182,8 +182,8 @@ int main(int argc, char *argv[]) * Exp outcome: current task should be attached to root group */ - test_cgroup_attach_task(0, nullcgroup, - NULL, NULL, NULLGRP, 3); + test_cgroup_attach_task(0, nullcgroup, NULL, NULL, 0, + NULLGRP, 3); /* * Test04: Call cgroup_attach_task_pid() with null group * and invalid pid @@ -230,7 +230,7 @@ int main(int argc, char *argv[]) */ test_cgroup_attach_task(0, cgroup1, "group1", NULL, - NOMESSAGE, 7); + 0, NOMESSAGE, 7); /* * Test08: modify cgroup with the same cgroup @@ -378,7 +378,8 @@ int main(int argc, char *argv[]) * Exp outcome: current task should be attached to root groups */ - test_cgroup_attach_task(0, nullcgroup, NULL, NULL, NULLGRP, 2); + test_cgroup_attach_task(0, nullcgroup, NULL, NULL, + 0, NULLGRP, 2); /* * Test03: Create a valid cgroup structure @@ -436,7 +437,7 @@ int main(int argc, char *argv[]) */ test_cgroup_attach_task(0, ctl1_cgroup1, "ctl1_group1", - NULL, NOMESSAGE, 8); + NULL, 0, NOMESSAGE, 8); /* * Test07: Call cgroup_attach_task() with a group with ctl2 @@ -446,7 +447,7 @@ int main(int argc, char *argv[]) */ test_cgroup_attach_task(0, ctl2_cgroup1, "ctl1_group1", - "ctl2_group1", NOMESSAGE, 9); + "ctl2_group1", 0, NOMESSAGE, 9); /* * Test: Create a valid cgroup structure @@ -467,7 +468,7 @@ int main(int argc, char *argv[]) */ test_cgroup_attach_task(ECGROUPNOTEXIST, ctl2_cgroup2, - NULL, NULL, NOTCRTDGRP, 11); + NULL, NULL, 0, NOTCRTDGRP, 11); /* * Create another valid cgroup structure with same group name @@ -569,7 +570,7 @@ int main(int argc, char *argv[]) */ test_cgroup_attach_task(0, common_cgroup, "commongroup", - "commongroup", COMMONGRP, 20); + "commongroup", 0, COMMONGRP, 20); /* * Test18: Create a valid cgroup structure to modify the diff --git a/tests/test_functions.c b/tests/test_functions.c index fc64934..4b8bcbb 100644 --- a/tests/test_functions.c +++ b/tests/test_functions.c @@ -66,13 +66,17 @@ void test_cgroup_init(int retcode, int i) * @param k the message enum number to print the useful message */ void test_cgroup_attach_task(int retcode, struct cgroup *cgrp, - const char *group1, const char *group2, int k, int i) + const char *group1, const char *group2, pid_t pid, int k, int i) { int retval; char tasksfile[FILENAME_MAX], tasksfile2[FILENAME_MAX]; /* Check, In case some error is expected due to a negative scenario */ if (retcode) { - retval = cgroup_attach_task(cgrp); + if (pid) + retval = cgroup_attach_task_pid(cgrp, pid); + else + retval = cgroup_attach_task(cgrp); + if (retval == retcode) message(i, PASS, "attach_task()", retval, info[k]); else @@ -82,7 +86,11 @@ void test_cgroup_attach_task(int retcode, struct cgroup *cgrp, } /* Now there is no error and it is a genuine call */ - retval = cgroup_attach_task(cgrp); + if (pid) + retval = cgroup_attach_task_pid(cgrp, pid); + else + retval = cgroup_attach_task(cgrp); + /* API returned success, so perform check */ if (retval == 0) { build_path(tasksfile, mountpoint, |