summaryrefslogtreecommitdiffstats
path: root/tests/libcgrouptest01.c
Commit message (Collapse)AuthorAgeFilesLines
* libcgroup Test: fix-newly-broken-testBalbir Singh2008-12-171-0/+3
| | | | | | | | | | The previous patch creating the function for attach_task() breaks a test case because of global data usage. This patch fixes that. (There will be functions corresponding to each API to test all the APIs) Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@269 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgroup-create-function-for-attach_task-apiBalbir Singh2008-12-171-147/+66
| | | | | | | | | | | | | | This patch creates a function test_cgroup_attach_task() to test the libcgroup api cgroup_attach_task() under different scenario. In the earlier approach we were not usong functions and were testing the api sequentialy under different conditions. The new approach has a single function for 1 api which can handle the testing under all conditions. The advantage is that the test case becomes thread safe as all the variables are now declared on stack. The other benefit is that the code repetition has reduced now. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@268 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgroup-create-function-for-init-apiBalbir Singh2008-12-171-15/+16
| | | | | | | | | | | | This patch creates a function test_cgroup_init() to test the libcgroup api cgroup_init() under different scenario. In the earlier approach we were not usong functions and were testing the api sequentialy under different conditions. The new approach has a single function for 1 api which can handle the testing under all conditions. The advantage is that the code repetition has reduced now. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@267 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgroup-add-static-array-for-testcase-info-messagesBalbir Singh2008-12-171-0/+107
| | | | | | | | | | | | This patch removes all the strncpy() calls that were made before each api call to print the info messages. This patch creates an array of such info messages, initialize them, and then frees them with the help of two functions set_info_msgs(), called at start and free_info_msgs() called at end. The main motto has been to avoid the global variables due to thread safety reasons. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@266 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgrouptest-fix-to-empty-extra-string-and-add-a-new-warningBalbir Singh2008-12-171-0/+4
| | | | git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@265 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgroup-modify_cgroup-test3-for-multimntBalbir Singh2008-12-171-1/+67
| | | | | | | | | | | | | This patch adds a testcase for libcgroup api cgroup_modify_cgroup() for commongroup (under two controllers) in multiple mount scenario. Again the challenge is to handle the control value as diff controllers put diff upper limit on control value and we pick the controller dynamicaly. So thoughts ??? Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@264 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgroup-modify_cgroup-test2-for-multimntBalbir Singh2008-12-171-1/+33
| | | | | | | | | | | | | This patch adds a testcase for libcgroup api cgroup_modify_cgroup() for multiple mount scenario for second controller. Again the challenge is to handle the control value as diff controllers put diff upper limit on control value and we pick the controller dynamicaly. So thoughts ??? Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@263 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgroup-modify_cgroup-test1-for-multimntBalbir Singh2008-12-171-1/+35
| | | | | | | | | | | | | | | | This patch adds a testcase for libcgroup api cgroup_modify_cgroup() for multiple mount scenario for first controller. The challenge is to handle the control value as diff controllers put diff upper limit on control value and we pick the controller dynamicaly. We are going to use a config file for that which will have the controller name, control file name and the control value. But not sure if there is any better approach. So thoughts ??? Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@262 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgroup-attach_task-test-for-cmmongrp-multimntBalbir Singh2008-12-171-1/+32
| | | | | | | | | This patch adds a testcase for libcgroup api cgroup_attach_task() for a common group in multiple mount scenario. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@261 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: fix-typo-error-in-delete-cgroupBalbir Singh2008-12-171-5/+7
| | | | | | | | | | This patch fixes a testcase which was having some typo errors. (libcgroup api cgroup_delete_cgroup() for a common group in multiple mount scenario) Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@260 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: make-controller-use-generic-in-binaryBalbir Singh2008-12-171-68/+105
| | | | | | | | | | | | | | | | | | This patch makes the use of controllers available from script more generic. All possible controllers in Linux kernel are to be kept as enum parameters and a corresponding mapping is done in both, the script and binary. The testcases are no more hardcoded with respect to controllers. The function set_controller() need to be updated with respect to the controllers and control file. The challenges yet to be solved are: (1)Choosing appropriate control file (2)Choosing appropriate control value dynamicaly. Thoughts are most welcome. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@259 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: set-another-controller-if-first-failsBalbir Singh2008-12-171-4/+13
| | | | | | | | | This patch adds a warning in case setting a controller fails and tries to set values for another controller. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@258 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: put-commoncode-in-build-path-functionBalbir Singh2008-12-171-59/+47
| | | | | | | | | This patch puts the common code into a function build_path() and thus reduces lots of redundant lines of code. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@257 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgroup-attach_task-singlemount-testcaseBalbir Singh2008-12-171-7/+34
| | | | | | | | | Hi, This patch adds a testcase for cgroup_attach_task() api for single mount. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@255 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: change test callBalbir Singh2008-12-171-15/+22
| | | | | | | | | | Hi, The api cgroup_modify_cgroup(cgroup1) had to be called before cgroup_modify_cgroup(cgroup2). This patch does that. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@254 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: add warningsBalbir Singh2008-12-171-7/+15
| | | | | | | | | | | Hi, This patch adds some warnings in case some testcses fail. When we modify a group with nullcgroup then there is no need to check if values are changed. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@253 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: cleanup4Balbir Singh2008-12-171-85/+176
| | | | | | | | | Hi, This patch does printf and other cleanups in third set of testcases. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@252 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: fixed certain rejectsBalbir Singh2008-12-171-3/+3
| | | | | | | | | | The following patch makes certain cleanups for the patchset to apply without any rejects. However the lines of code are being changed in one of the next patches. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@251 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: cleanup2Balbir Singh2008-12-171-58/+86
| | | | | | | | | Hi, This patch does printf and other cleanups in second set of testcases. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@249 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: cleanup1Balbir Singh2008-12-171-22/+49
| | | | | | | | | | Hi, This patch does cleanup in first set of testcases. It defines a new function to print test results. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@248 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgrouptest-multimnt-sanitycheckBalbir Singh2008-12-171-4/+21
| | | | | | | | | | | Hi The following patch adds the sanity check in c file for multiple mount case. The parameter passed to the function decides whether the check is for single mount or multiple mount. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@246 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgrouptest-multimnt05Balbir Singh2008-12-171-3/+73
| | | | | | | | | | | | Hi The following patch adds three testcases for libcg apis create and delete _cgroup() and wrapper apis for multiple mount case. The patch creates a valid cgroup structure with two controllers and after calling to apis performs a check under both controllers. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@245 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgrouptest-multimnt04Balbir Singh2008-12-171-0/+44
| | | | | | | | | | | This patch adds a testcase for libcgroup API cgroup_delete_cgroup() testing. The API is called under the multimount condition(FS_MOUNTED=2) and return values are checked. The group is checked if it is deleted from the root directory of the corresponding controller's mountpoint. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@244 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgrouptest-multimnt03Balbir Singh2008-12-171-1/+73
| | | | | | | | | | | | | | | | | This patch adds a testcase for libcgroup API cgroup_attach_task() testing. The API is called under the multimount condition(FS_MOUNTED=2) and return values are checked. The argument of the api is a valid group under one controller's(say cpu) mountpoint. This group exist only under one controller(cpu). So the attached task is checked under this group for this(cpu) controller and under the root group for the other(memory) controller. In the second call the argument is a group under other controller(memory) and hence now task is checked under the two groups of both controllers. In the third calll we give the argument as a non existing group, so the return value should be ECGROUPNOTEXIST. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@243 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgrouptest-multimnt02Balbir Singh2008-12-171-0/+83
| | | | | | | | | | | This patch adds a testcase for libcgroup API cgroup_create_cgroup() testing. The API is called under the multimount condition(FS_MOUNTED=2) and return values are checked. The group is checked if it exists under the root directory of the corresponding controller's mountpoint. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@242 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup Test: libcgrouptest-multimnt01Balbir Singh2008-12-171-24/+52
| | | | | | | | | | | | | This patch adds a testcase for libcgroup API cgroup_attach_task() testing. The API is called under the multimount condition(FS_MOUNTED=2) and return values are checked. The task pid is checked if it exists under the root group's tasks file of both the mountpoints. The patch also puts the common code in a function. Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@241 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup testcases: fix small testcase issueDhaval Giani2008-08-151-1/+1
| | | | | | | | | | | | | | From: Sudhir Kumar <skumar@linux.vnet.ibm.com> This patch fixes a small mistake in the testcase where we were comparing string values like integers. 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@161 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup: Fix test cases to use new APIs.Dhaval Giani2008-08-131-2/+9
| | | | | | | | | | | | The APIs changed and we could no longer smoke test the library. Updating it now. Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com> Cc: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@132 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup: fix wrong malloc size in testcaseDhaval Giani2008-07-041-1/+1
| | | | | | | | | | | | | | | From: Sudhir Kumar <skumar@linux.vnet.ibm.com> This patch fixes a small mistake in the previous patch for malloc size. Of course the size should not be of the pointer but the structure. 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@98 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup: Fix test cases to use CPU controller if availableDhaval Giani2008-07-021-2/+10
| | | | | | | | | | | | | The test cases used the memory controller. This is not a good idea since most distro kernels don't enable it by default. For the moment I'm setting it to use CPU if memory is not found, but in the longer term I am planning to set it to use CPU first and then memory. Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com> Acked-by: Sudhir Kumar <skumar@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@97 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* libcgroup: Fix invalid pid test case.Dhaval Giani2008-07-011-1/+1
| | | | | | | | | | | 0 is a valid PID for cgroup filesystem. It moves the current task into the cgroup. Let's try -1 instead. Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com> git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@96 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* From: Sudhir Kumar <skumar@linux.vnet.ibm.com>Dhaval Giani2008-07-011-0/+34
| | | | | | | | | | | | | | libcgroup: adds sanity check in libcgroup testcases binary This patch adds a sanity check on cgroup file system info in testcases. If cgroup filesystem is not mounted and script sends the info as mounted, then the binar would have failed. This patch handles that. 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@95 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* From: Sudhir Kumar <skumar@linux.vnet.ibm.com>Dhaval Giani2008-07-011-4/+65
| | | | | | | | | | | | | | | | | | libcgroup: testcases for cgroup_modify_cgroup() This patch adds testcases for libcgroup API cgroup_modify_cgroup() testing. The API is called with filesystem mounted (FS_MOUNTED=1) and return values are checked. The API is first called with the same cgroup(the one which is existing in the file system, and with all the same parameters). The second time it is called with a null cgroup. Third time it is called with a new cgroup having different controller. The filesystem is checked if the values have been 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@94 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* From: Sudhir Kumar <skumar@linux.vnet.ibm.com>Dhaval Giani2008-07-011-64/+77
| | | | | | | | | | | | | | | libcgroup: put common code in a function This patch puts the common code for creating cgroup structure into a function struct cgroup *new_cgroup(). The function uses few global variables which are changed before the function call and takes few variables as arguments. 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@93 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* From: Sudhir Kumar <skumar@linux.vnet.ibm.com>Dhaval Giani2008-07-011-6/+99
| | | | | | | | | | | | | | | | | libcgroup: testcases for wrapper api and cgroup_modify_cgroup() This patch creates a valid cgroup structure to be passed as the parameter for cgroup_modify_cgroup() function and calls this function. The return values are checked and on that basis the test is declared as pass or fail. The patch adds the code that check if the parameter changed reflect in the filesystem. 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@92 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* From: Sudhir Kumar <skumar@linux.vnet.ibm.com>Dhaval Giani2008-07-011-0/+38
| | | | | | | | | | | | | | | | libcgroup: further testcases for create_cgroup() and delete_cgroup() This patch adds testcases for libcgroup API cgroup_create_cgroup() and cgroup_delete_cgroup() testing. The APIs are called under the same but two conditions(FS_MOUNTED=0/1) and return values are checked. The test checks if these APIs can handle a null cgroup and hence passes a nulll cgroup as parameter. 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@91 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* From: Sudhir Kumar <skumar@linux.vnet.ibm.com>Dhaval Giani2008-07-011-2/+184
| | | | | | | | | | | | | | | | | libcgroup: libcgroup testcases for cgroup_attach_task() This patch adds testcases for libcgroup API cgroup_create_cgroup() and cgroup_delete_cgroup() testing. The APIs are called under the same but two conditions(FS_MOUNTED=0/1) and return values are checked. The cgroup is created and freed using the wrapper APIs. Testcases for FS_MOUNTED=2 have to be added. 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@90 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* From: Sudhir Kumar <skumar@linux.vnet.ibm.com>Dhaval Giani2008-07-011-2/+84
| | | | | | | | | | | | | | | | | | | | | libcgroup: libcgroup testcases for cgroup_attach_task() This patch adds 3 testcases for libcgroup API cgroup_attach_task() testing. The API is called under the same but two conditions(FS_MOUNTED=0/1) and return values are checked. For FS_MOUNTED=1 the API is first called without intializing ie without calling cgroup_init(), and then after cg_init(). Each time the null cgroup is passed. The task is checked if it exists under the root group's tasks file. The 4th testcase calls cgroup_attach_task_pid() with an invalid pid. Testcases for FS_MOUNTED=2 have to be added. 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@89 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* From: Sudhir Kumar <skumar@linux.vnet.ibm.com>Dhaval Giani2008-07-011-9/+37
| | | | | | | | | | | | | | libcgroup: libcgroup testcase for cgroup_init() This patch adds total 3 testcases for libcgroup API cgroup_init() testing.The API is called under the same three conditions(FS_MOUNTED=0/1/2) and return values are checked. Testcases for FS_MOUNTED=2 have to be updated and added. 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@88 4f4bb910-9a46-0410-90c8-c897d4f1cd53
* From: Sudhir Kumar <skumar@linux.vnet.ibm.com>Dhaval Giani2008-07-011-0/+75
libcgroup: framework for libcgroup testcases This Patch creates the basic infrastructure for libcgroup testcases. This patch adds a script which runs the binary(C) file. The script does all the environment setup to run the tests and passes this info to the C file through command line arguments. The binary runs the test cases calling the API's in different environment conditions. The Makefile compiles the test. The top level Makefile.in is edited to support make test make testclean The script runs this binary total 3 times, each time with diff varaible. FS_MOUNTED=0 # cgroup fs not mounted FS_MOUNTED=1 # cgroup fs mounted FS_MOUNTED=2 # cgroup fs mounted at multiple points 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@87 4f4bb910-9a46-0410-90c8-c897d4f1cd53