On Wed, Jan 07, 2009 at 10:20:36PM +0530, Sudhir Kumar wrote:
> 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 <[email protected]>
> Acked-by: Dhaval Giani <[email protected]>
> Acked-by: Balbir Singh <[email protected]>
>
> ---
> tests/libcgrouptest.h | 4 ++--
> tests/libcgrouptest01.c | 19 ++++++++++---------
> tests/test_functions.c | 14 +++++++++++---
> 3 files changed, 23 insertions(+), 14 deletions(-)
>
> Index: trunk/tests/libcgrouptest.h
> ===================================================================
> --- trunk.orig/tests/libcgrouptest.h
> +++ trunk/tests/libcgrouptest.h
> @@ -110,8 +110,8 @@ extern char mountpoint[FILENAME_MAX], mo
> /* 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,
> Index: trunk/tests/libcgrouptest01.c
> ===================================================================
> --- trunk.orig/tests/libcgrouptest01.c
> +++ trunk/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
> @@ -183,7 +183,7 @@ int main(int argc, char *argv[])
> */
>
> test_cgroup_attach_task(0, nullcgroup,
> - NULL, NULL, NULLGRP, 3);
> + NULL, NULL, 0, NULLGRP, 3);
This indent looks a bit odd. I will probably fix it up while merging,
unless you are sending another set addressing the comments in the
earlier patches?
> /*
> * 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
> Index: trunk/tests/test_functions.c
> ===================================================================
> --- trunk.orig/tests/test_functions.c
> +++ trunk/tests/test_functions.c
> @@ -64,13 +64,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
> @@ -80,7 +84,11 @@ void test_cgroup_attach_task(int retcode
> }
>
> /* 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,
>
--
regards,
Dhaval
------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Libcg-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel