Additional tests for getting ITIMER_VIRTUAL and ITIMER_PROF.
Signed-off-by: DAN LI <[email protected]>
---
testcases/kernel/syscalls/getitimer/getitimer01.c | 60 ++++++++++++++---------
1 file changed, 36 insertions(+), 24 deletions(-)
diff --git a/testcases/kernel/syscalls/getitimer/getitimer01.c
b/testcases/kernel/syscalls/getitimer/getitimer01.c
index 968e34f..9c3ad90 100644
--- a/testcases/kernel/syscalls/getitimer/getitimer01.c
+++ b/testcases/kernel/syscalls/getitimer/getitimer01.c
@@ -19,6 +19,7 @@
/*
HISTORY
03/2001 - Written by Wayne Boyer
+ 04/2013 - ITIMER_VIRTUAL and ITIMER_PROF test added by DAN LI
TEST ITEMS:
Check that a correct call to getitimer() succeeds.
@@ -34,11 +35,17 @@ static void cleanup(void);
static void setup(void);
char *TCID = "getitimer01";
-int TST_TOTAL = 1;
+int TST_TOTAL = 3;
+
+static int itimer_name[] = {
+ ITIMER_REAL,
+ ITIMER_VIRTUAL,
+ ITIMER_PROF, };
int main(int ac, char **av)
{
int lc;
+ int idx;
char *msg;
struct itimerval *value;
@@ -51,32 +58,37 @@ int main(int ac, char **av)
for (lc = 0; TEST_LOOPING(lc); lc++) {
tst_count = 0;
- /* allocate space for the itimerval structure */
- value = (struct itimerval *)malloc(sizeof(struct itimerval));
- if (value == NULL)
- tst_brkm(TBROK, cleanup, "value malloc failed");
-
- TEST(getitimer(ITIMER_REAL, value));
-
- if (TEST_RETURN != 0)
- tst_resm(TFAIL, "call failed - errno = %d - %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
-
- if (STD_FUNCTIONAL_TEST) {
+ for (idx = 0; idx < 3; idx++) {
+ /* allocate space for the itimerval structure */
+ value = (struct itimerval *)malloc(
+ sizeof(struct itimerval));
+ if (value == NULL) {
+ tst_resm(TBROK, "value malloc failed");
+ continue;
+ }
- /*
- * Since ITIMER_REAL is effectively disabled (we did
- * not set it before the getitimer call), the elements
- * in it_value should be zero.
- */
- if ((value->it_value.tv_sec == 0) &&
- (value->it_value.tv_usec == 0)) {
- tst_resm(TPASS, "functional test passed");
+ TEST(getitimer(itimer_name[idx], value));
+
+ if (TEST_RETURN != 0)
+ tst_resm(TFAIL, "call failed - errno = %d - %s",
+ TEST_ERRNO, strerror(TEST_ERRNO));
+
+ if (STD_FUNCTIONAL_TEST) {
+
+ /*
+ * Since ITIMER is effectively disabled (we did
+ * not set it before the getitimer call), the
+ * elements in it_value should be zero.
+ */
+ if ((value->it_value.tv_sec == 0) &&
+ (value->it_value.tv_usec == 0)) {
+ tst_resm(TPASS, "functionality is ok");
+ } else {
+ tst_resm(TFAIL, "timer are non zero");
+ }
} else {
- tst_resm(TFAIL, "timer values are non zero");
+ tst_resm(TPASS, "call succeeded");
}
- } else {
- tst_resm(TPASS, "call succeeded");
}
}
--
1.8.1
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list