| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Configure script can be invoked outside of source directory, which allows
to compile sources without spoiling the source directory with compilation
artifacts (like .o files). This patch tries to fix our Makefiles to allow
this to work.
You can test it in current GIT checkout (in the root dir):
# mkdir build; cd build; ../configure; make
As result, you should see all binary files in the 'build' directory.
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
|
|
|
|
|
|
|
| |
This patch enable get_all_controller test
Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix following warnings:
test_functions.c: In function ‘group_modified’:
test_functions.c:435: warning: format ‘%d’ expects type ‘int *’, but argument
3 has type ‘_Bool *’
test_functions.c:440: warning: format ‘%lld’ expects type ‘long long int *’,
but argument 3 has type ‘int64_t *’
test_functions.c:445: warning: format ‘%llu’ expects type ‘long long unsigned
int *’, but argument 3 has type ‘u_int64_t *’
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
| |
libcgroup.h includes some header files, which are not then used. These should
be removed, resp. moved to the source files where they are actually needed.
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
| |
get_all_controller.c: In function ‘main’:
get_all_controller.c:18: warning: passing argument 1 of ‘cgroup_get_all_controller_begin’ from incompatible pointer type
get_all_controller.c:23: warning: passing argument 1 of ‘cgroup_get_all_controller_next’ from incompatible pointer type
get_all_controller.c:31: warning: passing argument 1 of ‘cgroup_get_all_controller_end’ from incompatible pointer type
The test case used a FILE * instead of a void *. Correct this change (The datatype is opaque to the caller)
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hi,
Changelog of v6:
================
* New patch.
This patch adds a new test command "proctest" for testing both
cgroup_get_uid_gid_from_procfs() and cgroup_get_procname_from_procfs().
# sleep 100 &
[1] 28558
# ./tests/proctest $$ 28558
Pid | Process name | Uid | Gid
-------+----------------------------------+-------+-------
27219 | /bin/bash | 0 | 0
28558 | /bin/sleep | 0 | 0
#
The functions get a process information from /proc fs, and they are
fragile because the content of /proc fs is not stable. If changing
/proc fs in future, this test command will be useful for catching
the change.
Thanks
Ken'ichi Ohmichi
Signed-off-by: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp>
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
|
|
|
|
|
|
| |
The test case to test the new mount point API.
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Introduce an API which will query the mount table and return the mount point
of a specific subsystem. This is needed in the case when the user knows which
subsystem he wants the details of, which would make the use of the get_controller*
APIs cumbersome.
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This set of APIs will allow the caller to query the mount table
and find out what controller is mounted at what path.
Test program has been included in the patch. Running the test program
results in
[dhaval@gondor tests]$ ../libtool --mode=execute ./get_controller
Controller cpu is mounted at /cgroup
Controller cpuacct is mounted at /cgroup
Controller memory is mounted at /cgroup1
[dhaval@gondor tests]$
Which is the setup on this system.
Changes from v2
1. Remove the incorrect comments as pointed out by Bharata
Changes from v1
1. Use a new structure as mentioned by bharata to return the values.
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Cc: Jan Safranek <jsafrane@redhat.com>
Acked-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
| |
As Jan Safranek pointed out, it is better to have double pointers
everywhere in the get_task API to keep consistency. Do the same.
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
With the introduction of the flags, we now actually make use of them.
This patch adds a post mode and modifies the test case to also do a post
order walk.
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libcgrouptest: Fix the cgroup_dbg macro
On compiling with CGROUP_DEBUG enabled, compile was failing.
libcgrouptest01.c: In function ‘main’:
libcgrouptest01.c:57: error: expected ‘)’ before ‘...’ token
libcgrouptest01.c:64: error: expected ‘)’ before ‘...’ token
libcgrouptest01.c:68: error: expected ‘)’ before ‘...’ token
make[2]: *** [libcgrouptest01.o] Error 1
Fix this error.
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
|
|\
| |
| |
| | |
ssh://balbir_singh@libcg.git.sourceforge.net/gitroot/libcg
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the test case for the new API. This test takes one argument, the
group name.
Sample run on my system with this test case returns,
[dhaval@gondor tests]$ ../libtool --mode=execute ./walk_task a
Printing the details of groups a
Pid is 6092
Pid is 11315
Pid is 11318
Pid is 11319
Pid is 11324
Pid is 13234
[dhaval@gondor tests]$
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
|
|/
|
|
|
|
| |
updates will be needed and will be done in subsequent cleanups.
Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
specific stats. Added Makefile.am updates which I had missed in the
previous post.
New APIs to read controller specific statistics.
This patch introduces 3 new APIs which can be used to read controller
statistics iteratively. (Eg. stats from memory.stat etc)
Reading of stats is initiated by cgroup_read_stats_begin() API, which
returns the first stat of the requested controller in addition to returing
a handle that should be used in subsequent reads.
cgroup_read_stats_next() API can be used to read the remaining stats
one by one. This needs the handle returned by cgroup_read_stats_begin().
cgroup_read_stats_end() API will terminate the stats reading iteration
initiated by cgroup_read_stats_begin().
Changelog:
v2
- Update tests/Makefile.am so that it generates appropriate rules
for tests/read_stats.c in the Makefile. This is in addition to
the manual updates done to the generated file tests/Makefile.in.
v1
- cgroup_read_stats apis now work with relative cgroup path names instead
of absolute path names.
v0
- Initial post.
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Make the shared object version a bit more usable, the notation with double
colons cannot be used on different places (see next patch).
Also run automake && autoconf to refresh the generated stuff.
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
|
|
|
|
|
|
| |
Finally run autoreconf -f -i to generate all the stuff that should be generated
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
|
|
|
|
|
|
|
|
| |
The runlibcgrouptest.sh will now whine when script is started by non-root
user. Root permissions are needed to create directories and mount the cgroups
there.
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Automake's 'make check' executes runlibcgrouptest.sh automatically. It
interprets exit code '77' as 'skip the test' and it is not counted as failure.
Also the script should return nozero exit code != 77 when some test fails.
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
|
|
|
|
|
|
| |
runlibcgrouptest.sh should be executable, so 'make check' can execute it.
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
|
|
|
|
|
|
|
|
| |
Add automake makefiles and prepare everything to run, but don't actually
run the automake - it would generate lot of noise, where my manual changes
would get lots.
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
|
|
|
|
|
|
| |
Remove tests/Makefile, it will be replaced by automake generated one.
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Balbir Singh <balbir@linux.vnet.ibm.com>
Changelog v3..v4
1. Add _end() method for the iterator
Changelog v3..v2
1. Move to iterator based design
Changelog v2..v1
1. Add base path and depth semantics for walking
This patch adds the capability to walk cgroups by providing a new API
called cgroup_walk_tree. The API accepts the controller to walk and the
order in which the directories and files must be visited. The code is
implemented as an iterator, the begin function starts the walk and
we have depth control. The next function gets the following node
and returns ECGEOF when done.
libcgroup.map has been updated to reflect the same change and the prototype
is exported in libcgroup.h.
I've also added test cases (tests/walk_test.c). Sample output is show
root is /cgroup/cpu///
path , parent , relative /, full /cgroup/cpu///
path l3, parent , relative /l3, full /cgroup/cpu///l3
path ll1, parent l3, relative /l3/ll1, full /cgroup/cpu///l3/ll1
path lll1, parent ll1, relative /l3/ll1/lll1, full /cgroup/cpu///l3/ll1/lll1
path l2, parent , relative /l2, full /cgroup/cpu///l2
path ll1, parent l2, relative /l2/ll1, full /cgroup/cpu///l2/ll1
path lll1, parent ll1, relative /l2/ll1/lll1, full /cgroup/cpu///l2/ll1/lll1
path l1, parent , relative /l1, full /cgroup/cpu///l1
path ll1, parent l1, relative /l1/ll1, full /cgroup/cpu///l1/ll1
path lll1, parent ll1, relative /l1/ll1/lll1, full /cgroup/cpu///l1/ll1/lll1
path a, parent , relative /a, full /cgroup/cpu///a
path e, parent a, relative /a/e, full /cgroup/cpu///a/e
path f, parent e, relative /a/e/f, full /cgroup/cpu///a/e/f
path f, parent a, relative /a/f, full /cgroup/cpu///a/f
path x, parent a, relative /a/x, full /cgroup/cpu///a/x
path b, parent a, relative /a/b, full /cgroup/cpu///a/b
path c, parent b, relative /a/b/c, full /cgroup/cpu///a/b/c
path d, parent c, relative /a/b/c/d, full /cgroup/cpu///a/b/c/d
path default, parent , relative /default, full /cgroup/cpu///default
root is /cgroup/cpu//a/
path , parent , relative /, full /cgroup/cpu//a/
path e, parent , relative /e, full /cgroup/cpu//a/e
path f, parent e, relative /e/f, full /cgroup/cpu//a/e/f
path f, parent , relative /f, full /cgroup/cpu//a/f
path x, parent , relative /x, full /cgroup/cpu//a/x
path b, parent , relative /b, full /cgroup/cpu//a/b
path c, parent b, relative /b/c, full /cgroup/cpu//a/b/c
Walking the first 5 nodes
root is /cgroup/cpu///
path , parent , relative /, full /cgroup/cpu///
path l3, parent , relative /l3, full /cgroup/cpu///l3
path ll1, parent l3, relative /l3/ll1, full /cgroup/cpu///l3/ll1
path lll1, parent ll1, relative /l3/ll1/lll1, full /cgroup/cpu///l3/ll1/lll1
NOTE: Parent directory is represented by an empty (not NULL) string "".
The length of the string is 0.
Signed-off-by: Balbir Singh <balbir@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@356 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since cgroup_dbg is defined on the basis of CGROUP_DBG, we get
libcgrouptest.h and libcg_ba.cpp to include config.h and change
dbg to cgroup_dbg.
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: Sudhir Kumar <skumar@linux.vnet.ibm.com>
git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@354 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This patch renames the function get_controllers() to a more
meaningful name is_subsystem_enabled().
history:
The code in the patch is part of a patch sent in an earlier patchset,
which somehow got dropped (looks an older version of that patch was
merged to the tree). Adding this patch makes everything upstream upto
the discussion held on the list.
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@314 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
The patch was adding a warning
"test_functions.c:359: warning: unused variable ‘ret’"
Hence resending correcting it.
open may fail in case there is not proper permissions and hence giving
a wrong result. This patch uses stat instead which is always better.
Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com>
Acked-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@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@312 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
The patch would get a reject because of modifications in an earlier
patch. Hence updating the patch by fixing the reject.
This patch makes the function check_task() capable of checking if a pid
other than the calling process is attached to a particlular group. Earlier
it was checking for the calling process only.
For optimization purpose 0 is used to indicate that the task to be attached
is the current task and hence call cgroup_gettid() only once.
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@311 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
There were some coding style warnings that have been fixed in this
patch. Basicaly the ones reported by checkpatch.pl
This patch puts the test functions in a separate file so that they
can be reused for further testing. Some of the functions were static
and hence changed to be non static. It also edits the Makefile so
that the patch compiles.
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@309 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
A lack of proper initial thought let me use some variables globaly, which
is not a good idea at all. However fixing this issue at this stage is not
very good from the point that it changes variables for a lot of functions.
But still it has to be done for a better and reusable code. This patch does
that while putting related variables in meaningful structs.
Thanks to Balbir for a good suggestion.
TODO:
Fill these data structures from a configuration file after analyzing
requirements from different test functions.
Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@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@307 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes a few memory leaks, and leaked file handles.
[root@gondor tests]# make
g++ -g -O2 -Wall -DDEBUG -I .. -o libcgrouptest01 libcgrouptest01.c -L .. -lcgroup -lpthread
libcgrouptest01.c: In function ‘int group_modified(char*, int)’:
libcgrouptest01.c:1060: warning: format ‘%d’ expects type ‘int*’, but argument 3 has type ‘bool*’
s[root@gondor tests]# sh runlibcgrouptest.sh
Running first set of testcases
==============================
==14758== Memcheck, a memory error detector.
==14758== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==14758== Using LibVEX rev 1804, a library for dynamic binary translation.
==14758== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==14758== Using valgrind-3.3.0, a dynamic binary instrumentation framework.
==14758== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==14758== For more details, rerun with: -v
==14758==
C:DBG: fs_mounted as recieved from script=0
TEST 1:PASS : cgroup_init() Ret Value = 50001
TEST 2:PASS : cgroup_attach_task() Ret Value = 50014 Parameter nullcgroup
TEST 3:PASS : cgroup_new_cgroup() Ret Value = 0
TEST 4:PASS : cgroup_create_cgroup() Ret Value = 50014
TEST 5:PASS : cgroup_delete_cgroup() Ret Value = 50014
TEST 6:PASS : cgroup_create_cgroup() Ret Value = 50014
TEST 7:PASS : cgroup_delete_cgroup() Ret Value = 50014
TEST 8:PASS : cgroup_add_controller() Ret Value = 0
TEST 9:PASS : cgroup_add_controller() Ret Value = 0
TEST10:PASS : cgroup_add_controller() Ret Value = 0
==14758==
==14758== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 18 from 1)
==14758== malloc/free: in use at exit: 0 bytes in 0 blocks.
==14758== malloc/free: 18 allocs, 18 frees, 32,293 bytes allocated.
==14758== For counts of detected errors, rerun with: -v
==14758== All heap blocks were freed -- no leaks are possible.
Running second set of testcases
==============================
==14774== Memcheck, a memory error detector.
==14774== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==14774== Using LibVEX rev 1804, a library for dynamic binary translation.
==14774== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==14774== Using valgrind-3.3.0, a dynamic binary instrumentation framework.
==14774== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==14774== For more details, rerun with: -v
==14774==
C:DBG: fs_mounted as recieved from script=1
C:DBG: mountpoint1 as recieved from script=/dev/cgroup_controllers-1
sanity check pass. cgroup
TEST 1:PASS : cgroup_attach_task() Ret Value = 50014 Parameter nullcgroup
TEST 2:PASS : cgroup_init() Ret Value = 0
TEST 3:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
TEST 4:PASS : cgroup_attach_task_pid() Ret Value = 50016
TEST 5:PASS : cgroup_new_cgroup() Ret Value = 0
TEST 6:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
TEST 7:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
==14774== Conditional jump or move depends on uninitialised value(s)
==14774== at 0x40070D8: strncat (mc_replace_strmem.c:214)
==14774== by 0x804BC92: main (libcgrouptest01.c:1271)
==14774==
==14774== Conditional jump or move depends on uninitialised value(s)
==14774== at 0x4007271: strcpy (mc_replace_strmem.c:268)
==14774== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14774== by 0x804BC9D: main (libcgrouptest01.c:252)
==14774==
==14774== Conditional jump or move depends on uninitialised value(s)
==14774== at 0x4007285: strcpy (mc_replace_strmem.c:268)
==14774== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14774== by 0x804BC9D: main (libcgrouptest01.c:252)
==14774==
==14774== Conditional jump or move depends on uninitialised value(s)
==14774== at 0x8049471: _ZL14group_modifiedPci (libcgrouptest01.c:1076)
==14774== by 0x804C583: main (libcgrouptest01.c:254)
==14774==
==14774== by 0x804C583: main (libcgrouptest01.c:254)
==14774==
==14774== Conditional jump or move depends on uninitialised value(s)
==14774== at 0x8049479: _ZL14group_modifiedPci (libcgrouptest01.c:1076)
==14774== by 0x804C583: main (libcgrouptest01.c:254)
==14774==
==14774== Conditional jump or move depends on uninitialised value(s)
==14774== at 0x4007470: strncmp (mc_replace_strmem.c:314)
==14774== by 0x804949B: _ZL14group_modifiedPci (libcgrouptest01.c:1076)
==14774== by 0x804C583: main (libcgrouptest01.c:254)
TEST 8:PASS : cgroup_modify_cgroup() Ret Value = 0 Parameter same cgroup
TEST 9:PASS : cgroup_new_cgroup() Ret Value = 0
==14774==
==14774== Conditional jump or move depends on uninitialised value(s)
==14774== at 0x4007271: strcpy (mc_replace_strmem.c:268)
==14774== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14774== by 0x804A3E7: test_cgroup_modify_cgroup(int, cgroup*, char const*, int, int, int, int, int) (libcgrouptest01.c:889)
==14774== by 0x804BD35: main (libcgrouptest01.c:286)
==14774==
==14774== Conditional jump or move depends on uninitialised value(s)
==14774== at 0x4007285: strcpy (mc_replace_strmem.c:268)
==14774== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14774== by 0x804A3E7: test_cgroup_modify_cgroup(int, cgroup*, char const*, int, int, int, int, int) (libcgrouptest01.c:889)
==14774== by 0x804BD35: main (libcgrouptest01.c:286)
TEST10:PASS : cgroup_modify_cgroup() Ret Value = 0
TEST11:PASS : cgroup_modify_cgroup() Ret Value = 50007
TEST12:PASS : cgroup_new_cgroup() Ret Value = 0
==14774==
==14774== Conditional jump or move depends on uninitialised value(s)
==14774== at 0x4007271: strcpy (mc_replace_strmem.c:268)
==14774== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14774== by 0x804A3E7: test_cgroup_modify_cgroup(int, cgroup*, char const*, int, int, int, int, int) (libcgrouptest01.c:889)
==14774== by 0x804BDF3: main (libcgrouptest01.c:314)
==14774==
==14774== Conditional jump or move depends on uninitialised value(s)
==14774== at 0x4007285: strcpy (mc_replace_strmem.c:268)
==14774== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14774== by 0x804A3E7: test_cgroup_modify_cgroup(int, cgroup*, char const*, int, int, int, int, int) (libcgrouptest01.c:889)
==14774== by 0x804BDF3: main (libcgrouptest01.c:314)
TEST13:PASS : cgroup_modify_cgroup() Ret Value = 0
TEST14:PASS : cgroup_get_cgroup() Ret Value = 50007 Parameter nullcgroup
TEST15:PASS : cgroup_get_cgroup() Ret Value = 50002 Parameter not created group
TEST16:PASS : cgroup_get_cgroup() Ret Value = 0
TEST 0:PASS : cgroup_new_cgroup() Ret Value = 0
TEST 0:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
TEST17:FAIL : cgroup_get_cgroup() Ret Value = 50017
TEST16:PASS : cgroup_delete_cgroup() Ret Value = 0 Group deleted from filesystem
TEST17:PASS : cgroup_create_cgroup() Ret Value = 50007
TEST18:PASS : cgroup_delete_cgroup() Ret Value = 50007
TEST19:PASS : cgroup_compare_cgroup() Ret Value = 50011 Parameter nullcgroup
TEST20:PASS : cgroup_compare_cgroup() Ret Value = 0
TEST21:PASS : cgroup_compare_cgroup() Ret Value = 50017
==14774==
==14774== ERROR SUMMARY: 45 errors from 10 contexts (suppressed: 18 from 1)
==14774== malloc/free: in use at exit: 0 bytes in 0 blocks.
==14774== malloc/free: 187 allocs, 187 frees, 234,711 bytes allocated.
==14774== For counts of detected errors, rerun with: -v
==14774== All heap blocks were freed -- no leaks are possible.
Cleanup done
Running third set of testcases
==============================
==14827== Memcheck, a memory error detector.
==14827== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==14827== Using LibVEX rev 1804, a library for dynamic binary translation.
==14827== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==14827== Using valgrind-3.3.0, a dynamic binary instrumentation framework.
==14827== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==14827== For more details, rerun with: -v
==14827==
C:DBG: fs_mounted as recieved from script=2
C:DBG: mountpoint1 as recieved from script=/dev/cgroup_controllers-1
C:DBG: mountpoint2 as recieved from script=/dev/cgroup_controllers-2
sanity check pass. cgroup
TEST 1:PASS : cgroup_init() Ret Value = 0
TEST 2:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
TEST 1:PASS : cgroup_init() Ret Value = 0
TEST 2:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
TEST 3:PASS : cgroup_new_cgroup() Ret Value = 0
TEST 4:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
TEST 5:PASS : cgroup_new_cgroup() Ret Value = 0
TEST 6:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
TEST 7:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
TEST 8:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
TEST 9:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
TEST10:PASS : cgroup_new_cgroup() Ret Value = 0
TEST11:PASS : cgroup_attach_task() Ret Value = 50002 Parameter not created group
TEST12:PASS : cgroup_new_cgroup() Ret Value = 0
==14827== Conditional jump or move depends on uninitialised value(s)
==14827== at 0x4007271: strcpy (mc_replace_strmem.c:268)
==14827== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14827== by 0x804A3E7: test_cgroup_modify_cgroup(int, cgroup*, char const*, int, int, int, int, int) (libcgrouptest01.c:889)
==14827== by 0x804C1D6: main (libcgrouptest01.c:498)
TEST13:PASS : cgroup_modify_cgroup() Ret Value = 0
TEST14:PASS : cgroup_new_cgroup() Ret Value = 0
==14827==
==14827== Conditional jump or move depends on uninitialised value(s)
==14827== at 0x4007271: strcpy (mc_replace_strmem.c:268)
==14827== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14827== by 0x804A3E7: test_cgroup_modify_cgroup(int, cgroup*, char const*, int, int, int, int, int) (libcgrouptest01.c:889)
==14827== by 0x804C23C: main (libcgrouptest01.c:519)
==14827==
==14827== Conditional jump or move depends on uninitialised value(s)
==14827== at 0x4007285: strcpy (mc_replace_strmem.c:268)
==14827== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14827== by 0x804A3E7: test_cgroup_modify_cgroup(int, cgroup*, char const*, int, int, int, int, int) (libcgrouptest01.c:889)
==14827== by 0x804C23C: main (libcgrouptest01.c:519)
TEST15:PASS : cgroup_modify_cgroup() Ret Value = 0
TEST16:PASS : cgroup_delete_cgroup() Ret Value = 0 Group deleted from filesystem
TEST17:PASS : cgroup_delete_cgroup() Ret Value = 0 Group deleted from filesystem
TEST18:PASS : cgroup_new_cgroup() Ret Value = 0
TEST19:PASS : cgroup_create_cgroup() Ret Value = 0 group found under both controllers
TEST20:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
TEST21:PASS : cgroup_new_cgroup() Ret Value = 0
==14827==
==14827== Conditional jump or move depends on uninitialised value(s)
==14827== at 0x4007271: strcpy (mc_replace_strmem.c:268)
==14827== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14827== by 0x804A3E7: test_cgroup_modify_cgroup(int, cgroup*, char const*, int, int, int, int, int) (libcgrouptest01.c:889)
==14827== by 0x804C464: main (libcgrouptest01.c:622)
==14827==
==14827== Conditional jump or move depends on uninitialised value(s)
==14827== at 0x4007285: strcpy (mc_replace_strmem.c:268)
==14827== by 0x402F24B: cgroup_modify_cgroup (api.c:1012)
==14827== by 0x804A3E7: test_cgroup_modify_cgroup(int, cgroup*, char const*, int, int, int, int, int) (libcgrouptest01.c:889)
==14827== by 0x804C464: main (libcgrouptest01.c:622)
TEST22:PASS : cgroup_modify_cgroup() Ret Value = 0 group modified under both controllers
TEST23:PASS : cgroup_delete_cgroup() Ret Value = 0 Group deleted from filesystem
TEST 0:PASS : cgroup_new_cgroup() Ret Value = 0
TEST 0:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
TEST24:FAIL : cgroup_get_cgroup() Ret Value = 50018
==14827==
==14827== ERROR SUMMARY: 79 errors from 5 contexts (suppressed: 18 from 1)
==14827== malloc/free: in use at exit: 66,044 bytes in 15 blocks.
==14827== malloc/free: 196 allocs, 181 frees, 228,734 bytes allocated.
==14827== For counts of detected errors, rerun with: -v
==14827== searching for pointers to 15 not-freed blocks.
==14827== checked 6,381,180 bytes.
==14827==
==14827==
==14827== 66,044 (18,064 direct, 47,980 indirect) bytes in 4 blocks are definitely lost in loss record 1 of 3
==14827== at 0x4004BA2: calloc (vg_replace_malloc.c:397)
==14827== by 0x4030D9A: cgroup_new_cgroup (wrapper.c:28)
==14827== by 0x8049656: new_cgroup(char*, char*, char*, int, int) (libcgrouptest01.c:1132)
==14827== by 0x8049917: create_new_cgroup_ds(int, char const*, int, int) (libcgrouptest01.c:744)
==14827== by 0x804C190: main (libcgrouptest01.c:485)
==14827==
==14827==
==14827== 20,980 bytes in 5 blocks are indirectly lost in loss record 2 of 3
==14827== at 0x4004BA2: calloc (vg_replace_malloc.c:397)
==14827== by 0x4030C2C: cgroup_add_value_string (wrapper.c:122)
==14827== by 0x8048FDB: _ZL17add_control_valueP17cgroup_controllerPcS1_i (libcgrouptest01.c:1113)
==14827== by 0x4030C2C: cgroup_add_value_string (wrapper.c:122)
==14827== by 0x8048FDB: _ZL17add_control_valueP17cgroup_controllerPcS1_i (libcgrouptest01.c:1113)
==14827== by 0x80496C9: new_cgroup(char*, char*, char*, int, int) (libcgrouptest01.c:1147)
==14827== by 0x8049917: create_new_cgroup_ds(int, char const*, int, int) (libcgrouptest01.c:744)
==14827== by 0x804C190: main (libcgrouptest01.c:485)
==14827==
==14827==
==14827== 27,000 bytes in 6 blocks are indirectly lost in loss record 3 of 3
==14827== at 0x4004BA2: calloc (vg_replace_malloc.c:397)
==14827== by 0x4030F4B: cgroup_add_controller (wrapper.c:62)
==14827== by 0x80496AE: new_cgroup(char*, char*, char*, int, int) (libcgrouptest01.c:1144)
==14827== by 0x8049917: create_new_cgroup_ds(int, char const*, int, int) (libcgrouptest01.c:744)
==14827== by 0x804C190: main (libcgrouptest01.c:485)
==14827==
==14827== LEAK SUMMARY:
==14827== definitely lost: 18,064 bytes in 4 blocks.
==14827== indirectly lost: 47,980 bytes in 11 blocks.
==14827== possibly lost: 0 bytes in 0 blocks.
==14827== still reachable: 0 bytes in 0 blocks.
==14827== suppressed: 0 bytes in 0 blocks.
Cleanup done
[root@gondor tests]#
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@300 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pointers should be initialized to NULL. In the multi mount test case
path, we had an uninitialized cgroup_filled which caused a
segmentation fault. Fix it for this test case.
TODO:
Fix for all test cases.
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Cc: Sudhir Kumar <skumar@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@297 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This is addressing all the comments on the list and others too.
Earlier we were creating the messgae array dynamicaly which is not required
as the messages do not change dynamicaly. Let us have a static 2D array of
messages. This patch does that.
(This addresses the comment on the list ;))
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@295 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This patch adds testcases for cgroup_add_controller() wrapper api.
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@292 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This patch adds one testcase for cgroup_get_cgroup() api.
The test creates a group in filesystem, reads it in another
cgroup and compares the two and throws the results.
Also bounds the execution of certain basic testcases for the
same api under single mount only, as not required under multimnt.
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@291 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
The following patch adds a scenario for testing cgroup_get_cgroup()
api. The test is called with a cgroup which has not been created yet.
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@290 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This patch replaces the magic numbers from the info messages with the
corresponding meaningful enums.
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@289 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This patch creates the function test_cgroup_modify_cgroup(), to modify a
group in fs, and this way eliminates lot of redundant code. This patch
however may mesh up the numbering of testcases, which will be cleaned up
in a later patch.
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@288 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This patch creates the function test_cgroup_delete_cgroup(), to delete a
group in fs, and this way eliminates lot of redundant code. This patch
however may mesh up the numbering of testcases, which will be cleaned up
in a later patch once the functions are created for all other apis too.
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@287 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This patch creates the function test_cgroup_create_cgroup(), to create a
group in fs from a cgroup structure, and this way eliminates lot of redundant
code. This patch however may mesh up the numbering of testcases, which will
be cleaned up in a later patch once the functions are created for all other
apis.
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@286 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This patch adds few more warning messages in the message pool
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@285 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
There is no need to pass a separate variable for getting single/multiple
mount info, as we can get this info from the varaible received from script.
So this patch does that modification and puts the variaable fs_mounted as
global as it is never modified.
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@284 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This patch creates the function create_new_cgroup_ds(), to create a well
populated cgroup structure, and this way eliminates lot of redundant
code. This function internaly call other functions to provide a complete
cgroup structure. This patch breaks one of the testcases because of
the global data being used. I have fixed that in the dame patch to
maintain uniformity as this is a single line fix only and is well
commented in the code.
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@283 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
This patch adds a testcase for cgroup_compare_cgroup() wrapper.
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@281 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
| |
Minor cleanups.
Signed-off-by: Sudhir KUmar <skumar@linux.vnet.ibm.com>
git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@280 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the NUM_MSGS error which was still 10, however there
are more type of messages to be printed. It also adds the support to just
print a new line in case there is no message to be printed.
Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com>
git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@279 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
| |
This patch changes the control values to be written to control file.
The write of value 7000000 to memory.limt_in_bytes resulted in a silent
write of 7000064, because of which modify() test case was failing.
Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com>
git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@278 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch addresses the comments on testcases sent earlier.
Some of the corrections have been made in the coming patches which create
functions to test an api under different scenarios. The simple reason behind
that is to avoid the patches that contain only noise. For ex const strn* warnings.
I got one of the comments from Balbir Singh
"I wonder if we should also verify the
cgroup_modify_cgroup() changes by reading back the values using
cgroup_get_cgroup()"
I have not used this approach for now because of two reasons(however it would
have made life easy for me :))
1. In case cgroup_get_cgroup() fails, cgroup_modify_cgroup() test also will fail.
2. If cgroup_get_cgroup() becomes deprecated or dropped, then the testcase will
become obsolete. However I am still open to the idea. Your thoughts again??
Second comment was
"Each test case needs to be an induvidual function (can be called
from threads or other processes via a library interface)"
And the coming patches do that.
The next imp comment for me was
"I'll try and find a good test case infrastructure, if one exists
that can meet our needs."
I am eager to see some tool like that.
TODO:
Removing the hard coding of control values using config file is under progress
Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com>
git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@277 4f4bb910-9a46-0410-90c8-c897d4f1cd53
|