summaryrefslogtreecommitdiffstats
path: root/tests/libcgrouptest01.c
diff options
context:
space:
mode:
authorDhaval Giani <dhaval@linux.vnet.ibm.com>2008-07-01 13:43:16 +0000
committerDhaval Giani <dhaval@linux.vnet.ibm.com>2008-07-01 13:43:16 +0000
commitffaadffb864b22966c5adcd8f676755d00bf4d0f (patch)
tree6dcf5b39f2decdebe5527cbefe715291adaf5a1c /tests/libcgrouptest01.c
parentee559ea2d27f859caf75633e3b4849b0420536fe (diff)
downloadlibcg-ffaadffb864b22966c5adcd8f676755d00bf4d0f.tar.gz
libcg-ffaadffb864b22966c5adcd8f676755d00bf4d0f.tar.xz
libcg-ffaadffb864b22966c5adcd8f676755d00bf4d0f.zip
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
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
Diffstat (limited to 'tests/libcgrouptest01.c')
-rw-r--r--tests/libcgrouptest01.c75
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/libcgrouptest01.c b/tests/libcgrouptest01.c
new file mode 100644
index 0000000..fd4b915
--- /dev/null
+++ b/tests/libcgrouptest01.c
@@ -0,0 +1,75 @@
+/*
+ * Copyright IBM Corporation. 2008
+ *
+ * Author: Sudhir Kumar <skumar@linux.vnet.ibm.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2.1 of the GNU Lesser General Public License
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it would be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Description: This file contains the test code for testing libcgroup apis.
+ */
+
+#include "libcgrouptest.h"
+
+int main(int argc, char *argv[])
+{
+ int fs_mounted;
+
+ if ((argc < 3) || (atoi(argv[1]) < 0)) {
+ printf("ERROR: Wrong no of parameters recieved from script\n");
+ printf("Exiting the libcgroup testset\n");
+ exit(1);
+ }
+ fs_mounted = atoi(argv[1]);
+
+ /*
+ * Testsets: Testcases are broadly devided into 3 categories based on
+ * filesystem(fs) mount scenario. fs not mounted, fs mounted, fs multi
+ * mounted. Call different apis in these different scenarios.
+ */
+
+ switch (fs_mounted) {
+
+ case FS_NOT_MOUNTED:
+ /*
+ * Test01: call apis and check return values
+ * Exp outcome:
+ */
+ printf("First set\n");
+
+ break;
+
+ case FS_MOUNTED:
+ /*
+ * Test01: call apis and check return values
+ * Exp outcome:
+ */
+ printf("Second set\n");
+
+ break;
+
+ case FS_MULTI_MOUNTED:
+ /*
+ * Test01: call apis and check return values
+ * Exp outcome:
+ */
+ printf("Third set\n");
+ /*
+ * Will add testcases once multiple mount patch is in
+ */
+
+ break;
+
+ default:
+ fprintf(stderr, "ERROR: Wrong parameters recieved from script. \
+ Exiting tests\n");
+ exit(1);
+ break;
+ }
+ return 0;
+}