All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH] getitimer03.c: convert to new LTP API
@ 2022-07-20 10:44 Avinesh Kumar
  2022-07-21  4:04 ` Li Wang
  0 siblings, 1 reply; 8+ messages in thread
From: Avinesh Kumar @ 2022-07-20 10:44 UTC (permalink / raw)
  To: ltp

Signed-off-by: Avinesh Kumar <akumar@suse.de>
---
 .../kernel/syscalls/getitimer/getitimer03.c   | 156 ++----------------
 1 file changed, 17 insertions(+), 139 deletions(-)

diff --git a/testcases/kernel/syscalls/getitimer/getitimer03.c b/testcases/kernel/syscalls/getitimer/getitimer03.c
index cc5e83fad..e26a121c1 100644
--- a/testcases/kernel/syscalls/getitimer/getitimer03.c
+++ b/testcases/kernel/syscalls/getitimer/getitimer03.c
@@ -1,152 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  * Copyright (c) International Business Machines  Corp., 2001
- *
- * This program is free software;  you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY;  without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program;  if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *	03/2001 - Written by Wayne Boyer
+ * Copyright (c) 2022 SUSE LLC Avinesh Kumar <avinesh.kumar@suse.com>
  */
 
-/* $Header: /cvsroot/ltp/ltp/testcases/kernel/syscalls/getitimer/getitimer03.c,v 1.7 2009/08/28 10:18:24 vapier Exp $ */
-
-/*
- * NAME
- *	getitimer03.c
- *
- * DESCRIPTION
- *	getitimer03 - check that a getitimer() call fails as expected
- *		      with an incorrect first argument.
- *
- * CALLS
- *	getitimer()
- *
- * ALGORITHM
- *	loop if that option was specified
- *	allocate space and set up needed values
- *	issue the system call
- *	check the errno value
- *	  issue a PASS message if we get EINVAL
- *	otherwise, the tests fails
- *	  issue a FAIL message
- *	  break any remaining tests
- *	  call cleanup
- *
- * USAGE:  <for command-line>
- *  getitmer03 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- *     where,  -c n : Run n copies concurrently.
- *             -e   : Turn on errno logging.
- *	       -i n : Execute test n times.
- *	       -I x : Execute test for x seconds.
- *	       -P x : Pause for x seconds between iterations.
- *	       -t   : Turn on syscall timing.
- *
- * USAGE
- *	./getitimer03
+/*\
+ * [Description]
  *
- * HISTORY
- *	03/2001 - Written by Wayne Boyer
- *
- * RESTRICTIONS
- *	none
+ * Verify that getitimer() fails with EINVAL when called with
+ * an invalid first argument.
  */
 
-#include "test.h"
-
-#include <errno.h>
-#include <sys/time.h>
-
-void cleanup(void);
-void setup(void);
-
-char *TCID = "getitimer03";
-int TST_TOTAL = 1;
+#include <stdlib.h>
+#include "tst_test.h"
 
-int main(int ac, char **av)
+static void run(void)
 {
-	int lc;
 	struct itimerval *value;
 
-	tst_parse_opts(ac, av, NULL, NULL);
-
-	setup();		/* global setup */
-
-	/* The following loop checks looping state if -i option given */
-
-	for (lc = 0; TEST_LOOPING(lc); lc++) {
-		/* reset tst_count in case we are looping */
-		tst_count = 0;
-
-		/* allocate some space for the timer structure */
-
-		if ((value = malloc((size_t)sizeof(struct itimerval))) ==
-		    NULL) {
-			tst_brkm(TBROK, cleanup, "value malloc failed");
-		}
-
-		/*
-		 * issue the system call with the TEST() macro
-		 * ITIMER_REAL = 0, ITIMER_VIRTUAL = 1 and ITIMER_PROF = 2
-		 */
-
-		/* make the first value negative to get a failure */
-		TEST(getitimer(-ITIMER_PROF, value));
-
-		if (TEST_RETURN == 0) {
-			tst_resm(TFAIL, "call failed to produce expected error "
-				 "- errno = %d - %s", TEST_ERRNO,
-				 strerror(TEST_ERRNO));
-			continue;
-		}
-
-		switch (TEST_ERRNO) {
-		case EINVAL:
-			tst_resm(TPASS, "expected failure - errno = %d - %s",
-				 TEST_ERRNO, strerror(TEST_ERRNO));
-			break;
-		default:
-			tst_resm(TFAIL, "call failed to produce expected error "
-				 "- errno = %d - %s", TEST_ERRNO,
-				 strerror(TEST_ERRNO));
-		}
-
-		/*
-		 * clean up things in case we are looping
-		 */
-
-		free(value);
-		value = NULL;
-	}
-
-	cleanup();
-
-	tst_exit();
-}
-
-/*
- * setup() - performs all the ONE TIME setup for this test.
- */
-void setup(void)
-{
-
-	tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
-	TEST_PAUSE;
+	value = SAFE_MALLOC(sizeof(struct itimerval));
+	TST_EXP_FAIL(getitimer(-ITIMER_PROF, value), EINVAL);
+	free(value);
+	value = NULL;
 }
 
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * 	       or premature exit.
- */
-void cleanup(void)
-{
-
-}
+static struct tst_test test = {
+	.test_all = run
+};
-- 
2.36.1


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [LTP] [PATCH] getitimer03.c: convert to new LTP API
  2022-07-20 10:44 [LTP] [PATCH] getitimer03.c: convert to new LTP API Avinesh Kumar
@ 2022-07-21  4:04 ` Li Wang
  2022-09-14 20:52   ` Petr Vorel
  0 siblings, 1 reply; 8+ messages in thread
From: Li Wang @ 2022-07-21  4:04 UTC (permalink / raw)
  To: Avinesh Kumar; +Cc: LTP List


[-- Attachment #1.1: Type: text/plain, Size: 545 bytes --]

Hi Avinesh,

Thank you for doing this. The code achievement is absolutely right but
we can do something unify to better manage the error test in LTP.

My suggestion is to combine this invalid-argument test into getitimer02.c
by creating a structure that populates with arguments of getitimer(). Then
we can traversal each item to complete all error tests for a syscall just
in one testcase. (see madvise02.c)

e.g.

static struct tcase {
       int which;
       struct itimerval *curr_value;
} tcases[] = {
       {},
};


-- 
Regards,
Li Wang

[-- Attachment #1.2: Type: text/html, Size: 1661 bytes --]

[-- Attachment #2: Type: text/plain, Size: 60 bytes --]


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [LTP] [PATCH] getitimer03.c: convert to new LTP API
  2022-07-21  4:04 ` Li Wang
@ 2022-09-14 20:52   ` Petr Vorel
  2022-09-15  7:49     ` [LTP] [PATCH v2] " Li Wang
  0 siblings, 1 reply; 8+ messages in thread
From: Petr Vorel @ 2022-09-14 20:52 UTC (permalink / raw)
  To: Li Wang; +Cc: LTP List

Hi Avinesh, Li,

> Hi Avinesh,

> Thank you for doing this. The code achievement is absolutely right but
> we can do something unify to better manage the error test in LTP.

> My suggestion is to combine this invalid-argument test into getitimer02.c
> by creating a structure that populates with arguments of getitimer(). Then
> we can traversal each item to complete all error tests for a syscall just
> in one testcase. (see madvise02.c)

Avinesh, do you plan to follow Li's suggestion (which makes sense) and send a
patch this week (e.g. before git freeze due LTP releasing process?)

Kind regards,
Petr

> e.g.

> static struct tcase {
>        int which;
>        struct itimerval *curr_value;
> } tcases[] = {
>        {},
> };

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [LTP] [PATCH v2] getitimer03.c: convert to new LTP API
  2022-09-14 20:52   ` Petr Vorel
@ 2022-09-15  7:49     ` Li Wang
  2022-09-15 10:00       ` Avinesh Kumar
  0 siblings, 1 reply; 8+ messages in thread
From: Li Wang @ 2022-09-15  7:49 UTC (permalink / raw)
  To: ltp

From: Avinesh Kumar <akumar@suse.de>

Signed-off-by: Avinesh Kumar <akumar@suse.de>
Signed-off-by: Li Wang <liwang@redhat.com>
---

Notes:
    Hi Avinesh,
    
        As this patch pending there with no action more than six weeks, I just
        help to moving on the test convert-work in my suggest way, if you have
        any different thought, please feel free add comments and review.
        Thanks!  -- Li Wang
    
    v1 --> v2
        * combine error test into 02 to better manage the error test in LTP

 .../kernel/syscalls/getitimer/getitimer02.c   |  45 +++++-
 .../kernel/syscalls/getitimer/getitimer03.c   | 152 ------------------
 2 files changed, 39 insertions(+), 158 deletions(-)
 delete mode 100644 testcases/kernel/syscalls/getitimer/getitimer03.c

diff --git a/testcases/kernel/syscalls/getitimer/getitimer02.c b/testcases/kernel/syscalls/getitimer/getitimer02.c
index a91e6434d..863e8e0a8 100644
--- a/testcases/kernel/syscalls/getitimer/getitimer02.c
+++ b/testcases/kernel/syscalls/getitimer/getitimer02.c
@@ -1,30 +1,63 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 /*
  * Copyright (c) International Business Machines  Corp., 2001
- * 03/2001 - Written by Wayne Boyer
+ *               03/2001 - Written by Wayne Boyer
+ * Copyright (c) 2022 SUSE LLC Avinesh Kumar <avinesh.kumar@suse.com>
  */
 
 /*\
  * [Description]
  *
- * Check that a getitimer() call fails with EFAULT with invalid itimerval pointer.
+ * Check that getitimer() call fails:
+ *   1. EFAULT with invalid itimerval pointer
+ *   2. EINVAL when called with an invalid first argument
  */
 
+#include <stdlib.h>
 #include <errno.h>
 #include <sys/time.h>
 #include "tst_test.h"
 #include "lapi/syscalls.h"
 
+static struct itimerval *value;
+static struct itimerval *invalid;
+
+static struct tcase {
+       int which;
+       struct itimerval **val;
+       int exp_errno;
+} tcases[] = {
+       {ITIMER_REAL, &invalid, EFAULT},
+       {-ITIMER_PROF, &value, EINVAL},
+};
+
 static int sys_getitimer(int which, void *curr_value)
 {
-	return tst_syscall(__NR_getitimer, which, curr_value);
+        return tst_syscall(__NR_getitimer, which, curr_value);
+}
+
+static void setup(void)
+{
+        value = SAFE_MALLOC(sizeof(struct itimerval));
+        invalid = (struct itimerval *)-1;
+}
+
+static void verify_getitimer(unsigned int i)
+{
+        struct tcase *tc = &tcases[i];
+
+        TST_EXP_FAIL(sys_getitimer(tc->which, *(tc->val)), tc->exp_errno);
 }
 
-static void verify_getitimer(void)
+static void cleanup(void)
 {
-	TST_EXP_FAIL(sys_getitimer(ITIMER_REAL, (struct itimerval *)-1), EFAULT);
+        free(value);
+        value = NULL;
 }
 
 static struct tst_test test = {
-	.test_all = verify_getitimer,
+        .tcnt = ARRAY_SIZE(tcases),
+        .test = verify_getitimer,
+        .setup = setup,
+        .cleanup = cleanup,
 };
diff --git a/testcases/kernel/syscalls/getitimer/getitimer03.c b/testcases/kernel/syscalls/getitimer/getitimer03.c
deleted file mode 100644
index cc5e83fad..000000000
--- a/testcases/kernel/syscalls/getitimer/getitimer03.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) International Business Machines  Corp., 2001
- *
- * This program is free software;  you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY;  without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program;  if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/* $Header: /cvsroot/ltp/ltp/testcases/kernel/syscalls/getitimer/getitimer03.c,v 1.7 2009/08/28 10:18:24 vapier Exp $ */
-
-/*
- * NAME
- *	getitimer03.c
- *
- * DESCRIPTION
- *	getitimer03 - check that a getitimer() call fails as expected
- *		      with an incorrect first argument.
- *
- * CALLS
- *	getitimer()
- *
- * ALGORITHM
- *	loop if that option was specified
- *	allocate space and set up needed values
- *	issue the system call
- *	check the errno value
- *	  issue a PASS message if we get EINVAL
- *	otherwise, the tests fails
- *	  issue a FAIL message
- *	  break any remaining tests
- *	  call cleanup
- *
- * USAGE:  <for command-line>
- *  getitmer03 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- *     where,  -c n : Run n copies concurrently.
- *             -e   : Turn on errno logging.
- *	       -i n : Execute test n times.
- *	       -I x : Execute test for x seconds.
- *	       -P x : Pause for x seconds between iterations.
- *	       -t   : Turn on syscall timing.
- *
- * USAGE
- *	./getitimer03
- *
- * HISTORY
- *	03/2001 - Written by Wayne Boyer
- *
- * RESTRICTIONS
- *	none
- */
-
-#include "test.h"
-
-#include <errno.h>
-#include <sys/time.h>
-
-void cleanup(void);
-void setup(void);
-
-char *TCID = "getitimer03";
-int TST_TOTAL = 1;
-
-int main(int ac, char **av)
-{
-	int lc;
-	struct itimerval *value;
-
-	tst_parse_opts(ac, av, NULL, NULL);
-
-	setup();		/* global setup */
-
-	/* The following loop checks looping state if -i option given */
-
-	for (lc = 0; TEST_LOOPING(lc); lc++) {
-		/* reset tst_count in case we are looping */
-		tst_count = 0;
-
-		/* allocate some space for the timer structure */
-
-		if ((value = malloc((size_t)sizeof(struct itimerval))) ==
-		    NULL) {
-			tst_brkm(TBROK, cleanup, "value malloc failed");
-		}
-
-		/*
-		 * issue the system call with the TEST() macro
-		 * ITIMER_REAL = 0, ITIMER_VIRTUAL = 1 and ITIMER_PROF = 2
-		 */
-
-		/* make the first value negative to get a failure */
-		TEST(getitimer(-ITIMER_PROF, value));
-
-		if (TEST_RETURN == 0) {
-			tst_resm(TFAIL, "call failed to produce expected error "
-				 "- errno = %d - %s", TEST_ERRNO,
-				 strerror(TEST_ERRNO));
-			continue;
-		}
-
-		switch (TEST_ERRNO) {
-		case EINVAL:
-			tst_resm(TPASS, "expected failure - errno = %d - %s",
-				 TEST_ERRNO, strerror(TEST_ERRNO));
-			break;
-		default:
-			tst_resm(TFAIL, "call failed to produce expected error "
-				 "- errno = %d - %s", TEST_ERRNO,
-				 strerror(TEST_ERRNO));
-		}
-
-		/*
-		 * clean up things in case we are looping
-		 */
-
-		free(value);
-		value = NULL;
-	}
-
-	cleanup();
-
-	tst_exit();
-}
-
-/*
- * setup() - performs all the ONE TIME setup for this test.
- */
-void setup(void)
-{
-
-	tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
-	TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * 	       or premature exit.
- */
-void cleanup(void)
-{
-
-}
-- 
2.35.3


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [LTP] [PATCH v2] getitimer03.c: convert to new LTP API
  2022-09-15  7:49     ` [LTP] [PATCH v2] " Li Wang
@ 2022-09-15 10:00       ` Avinesh Kumar
  2022-09-16  2:12         ` Li Wang
  0 siblings, 1 reply; 8+ messages in thread
From: Avinesh Kumar @ 2022-09-15 10:00 UTC (permalink / raw)
  To: Li Wang; +Cc: ltp

Hi Li,

Sorry, I missed acting on the review comments you had provided. Thank you for
implementing them. Your patch looks good, I have tested as well.


On Thursday, September 15, 2022 1:19:00 PM IST Li Wang wrote:
> From: Avinesh Kumar <akumar@suse.de>
> 
> Signed-off-by: Avinesh Kumar <akumar@suse.de>
> Signed-off-by: Li Wang <liwang@redhat.com>
> ---
> 
> Notes:
>     Hi Avinesh,
>     
>         As this patch pending there with no action more than six weeks, I just
>         help to moving on the test convert-work in my suggest way, if you have
>         any different thought, please feel free add comments and review.
>         Thanks!  -- Li Wang
>     
>     v1 --> v2
>         * combine error test into 02 to better manage the error test in LTP
> 
>  .../kernel/syscalls/getitimer/getitimer02.c   |  45 +++++-
>  .../kernel/syscalls/getitimer/getitimer03.c   | 152 ------------------
>  2 files changed, 39 insertions(+), 158 deletions(-)
>  delete mode 100644 testcases/kernel/syscalls/getitimer/getitimer03.c
> 
> diff --git a/testcases/kernel/syscalls/getitimer/getitimer02.c b/testcases/kernel/syscalls/getitimer/getitimer02.c
> index a91e6434d..863e8e0a8 100644
> --- a/testcases/kernel/syscalls/getitimer/getitimer02.c
> +++ b/testcases/kernel/syscalls/getitimer/getitimer02.c
> @@ -1,30 +1,63 @@
>  // SPDX-License-Identifier: GPL-2.0-or-later
>  /*
>   * Copyright (c) International Business Machines  Corp., 2001
> - * 03/2001 - Written by Wayne Boyer
> + *               03/2001 - Written by Wayne Boyer
> + * Copyright (c) 2022 SUSE LLC Avinesh Kumar <avinesh.kumar@suse.com>
>   */
>  
>  /*\
>   * [Description]
>   *
> - * Check that a getitimer() call fails with EFAULT with invalid itimerval pointer.
> + * Check that getitimer() call fails:
> + *   1. EFAULT with invalid itimerval pointer
> + *   2. EINVAL when called with an invalid first argument
>   */
>  
> +#include <stdlib.h>
>  #include <errno.h>
>  #include <sys/time.h>
>  #include "tst_test.h"
>  #include "lapi/syscalls.h"
>  
> +static struct itimerval *value;
> +static struct itimerval *invalid;
> +
> +static struct tcase {
> +       int which;
> +       struct itimerval **val;
> +       int exp_errno;
> +} tcases[] = {
> +       {ITIMER_REAL, &invalid, EFAULT},
> +       {-ITIMER_PROF, &value, EINVAL},
> +};
> +
>  static int sys_getitimer(int which, void *curr_value)
>  {
> -	return tst_syscall(__NR_getitimer, which, curr_value);
> +        return tst_syscall(__NR_getitimer, which, curr_value);
> +}
> +
> +static void setup(void)
> +{
> +        value = SAFE_MALLOC(sizeof(struct itimerval));
> +        invalid = (struct itimerval *)-1;
> +}
> +
> +static void verify_getitimer(unsigned int i)
> +{
> +        struct tcase *tc = &tcases[i];
> +
> +        TST_EXP_FAIL(sys_getitimer(tc->which, *(tc->val)), tc->exp_errno);
>  }
>  
> -static void verify_getitimer(void)
> +static void cleanup(void)
>  {
> -	TST_EXP_FAIL(sys_getitimer(ITIMER_REAL, (struct itimerval *)-1), EFAULT);
> +        free(value);
> +        value = NULL;
>  }
>  
>  static struct tst_test test = {
> -	.test_all = verify_getitimer,
> +        .tcnt = ARRAY_SIZE(tcases),
> +        .test = verify_getitimer,
> +        .setup = setup,
> +        .cleanup = cleanup,
>  };
> diff --git a/testcases/kernel/syscalls/getitimer/getitimer03.c b/testcases/kernel/syscalls/getitimer/getitimer03.c
> deleted file mode 100644
> index cc5e83fad..000000000
> --- a/testcases/kernel/syscalls/getitimer/getitimer03.c
> +++ /dev/null
> @@ -1,152 +0,0 @@
> -/*
> - * Copyright (c) International Business Machines  Corp., 2001
> - *
> - * This program is free software;  you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY;  without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
> - * the GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program;  if not, write to the Free Software
> - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> - */
> -
> -/* $Header: /cvsroot/ltp/ltp/testcases/kernel/syscalls/getitimer/getitimer03.c,v 1.7 2009/08/28 10:18:24 vapier Exp $ */
> -
> -/*
> - * NAME
> - *	getitimer03.c
> - *
> - * DESCRIPTION
> - *	getitimer03 - check that a getitimer() call fails as expected
> - *		      with an incorrect first argument.
> - *
> - * CALLS
> - *	getitimer()
> - *
> - * ALGORITHM
> - *	loop if that option was specified
> - *	allocate space and set up needed values
> - *	issue the system call
> - *	check the errno value
> - *	  issue a PASS message if we get EINVAL
> - *	otherwise, the tests fails
> - *	  issue a FAIL message
> - *	  break any remaining tests
> - *	  call cleanup
> - *
> - * USAGE:  <for command-line>
> - *  getitmer03 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
> - *     where,  -c n : Run n copies concurrently.
> - *             -e   : Turn on errno logging.
> - *	       -i n : Execute test n times.
> - *	       -I x : Execute test for x seconds.
> - *	       -P x : Pause for x seconds between iterations.
> - *	       -t   : Turn on syscall timing.
> - *
> - * USAGE
> - *	./getitimer03
> - *
> - * HISTORY
> - *	03/2001 - Written by Wayne Boyer
> - *
> - * RESTRICTIONS
> - *	none
> - */
> -
> -#include "test.h"
> -
> -#include <errno.h>
> -#include <sys/time.h>
> -
> -void cleanup(void);
> -void setup(void);
> -
> -char *TCID = "getitimer03";
> -int TST_TOTAL = 1;
> -
> -int main(int ac, char **av)
> -{
> -	int lc;
> -	struct itimerval *value;
> -
> -	tst_parse_opts(ac, av, NULL, NULL);
> -
> -	setup();		/* global setup */
> -
> -	/* The following loop checks looping state if -i option given */
> -
> -	for (lc = 0; TEST_LOOPING(lc); lc++) {
> -		/* reset tst_count in case we are looping */
> -		tst_count = 0;
> -
> -		/* allocate some space for the timer structure */
> -
> -		if ((value = malloc((size_t)sizeof(struct itimerval))) ==
> -		    NULL) {
> -			tst_brkm(TBROK, cleanup, "value malloc failed");
> -		}
> -
> -		/*
> -		 * issue the system call with the TEST() macro
> -		 * ITIMER_REAL = 0, ITIMER_VIRTUAL = 1 and ITIMER_PROF = 2
> -		 */
> -
> -		/* make the first value negative to get a failure */
> -		TEST(getitimer(-ITIMER_PROF, value));
> -
> -		if (TEST_RETURN == 0) {
> -			tst_resm(TFAIL, "call failed to produce expected error "
> -				 "- errno = %d - %s", TEST_ERRNO,
> -				 strerror(TEST_ERRNO));
> -			continue;
> -		}
> -
> -		switch (TEST_ERRNO) {
> -		case EINVAL:
> -			tst_resm(TPASS, "expected failure - errno = %d - %s",
> -				 TEST_ERRNO, strerror(TEST_ERRNO));
> -			break;
> -		default:
> -			tst_resm(TFAIL, "call failed to produce expected error "
> -				 "- errno = %d - %s", TEST_ERRNO,
> -				 strerror(TEST_ERRNO));
> -		}
> -
> -		/*
> -		 * clean up things in case we are looping
> -		 */
> -
> -		free(value);
> -		value = NULL;
> -	}
> -
> -	cleanup();
> -
> -	tst_exit();
> -}
> -
> -/*
> - * setup() - performs all the ONE TIME setup for this test.
> - */
> -void setup(void)
> -{
> -
> -	tst_sig(NOFORK, DEF_HANDLER, cleanup);
> -
> -	TEST_PAUSE;
> -}
> -
> -/*
> - * cleanup() - performs all the ONE TIME cleanup for this test at completion
> - * 	       or premature exit.
> - */
> -void cleanup(void)
> -{
> -
> -}
> 

Regards,
Avinesh



-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [LTP] [PATCH v2] getitimer03.c: convert to new LTP API
  2022-09-15 10:00       ` Avinesh Kumar
@ 2022-09-16  2:12         ` Li Wang
  2022-10-09  3:33           ` Li Wang
  0 siblings, 1 reply; 8+ messages in thread
From: Li Wang @ 2022-09-16  2:12 UTC (permalink / raw)
  To: Avinesh Kumar; +Cc: LTP List


[-- Attachment #1.1: Type: text/plain, Size: 918 bytes --]

Hi Avinesh, Petr,

On Thu, Sep 15, 2022 at 6:00 PM Avinesh Kumar <akumar@suse.de> wrote:

> Hi Li,
>
> Sorry, I missed acting on the review comments you had provided. Thank you
> for
> implementing them. Your patch looks good, I have tested as well.
>

Thanks, btw we also need to take care of the .gitignore and syscalls run
test file.
Someone can help add this when merging the patch.

--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -466,7 +466,6 @@ gethostname01 gethostname01

 getitimer01 getitimer01
 getitimer02 getitimer02
-getitimer03 getitimer03

 getpagesize01 getpagesize01

diff --git a/testcases/kernel/syscalls/getitimer/.gitignore
b/testcases/kernel/syscalls/getitimer/.gitignore
index 6533d4b50..0a46a1021 100644
--- a/testcases/kernel/syscalls/getitimer/.gitignore
+++ b/testcases/kernel/syscalls/getitimer/.gitignore
@@ -1,3 +1,2 @@
 /getitimer01
 /getitimer02
-/getitimer03

-- 
Regards,
Li Wang

[-- Attachment #1.2: Type: text/html, Size: 1698 bytes --]

[-- Attachment #2: Type: text/plain, Size: 60 bytes --]


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [LTP] [PATCH v2] getitimer03.c: convert to new LTP API
  2022-09-16  2:12         ` Li Wang
@ 2022-10-09  3:33           ` Li Wang
  2022-10-10  6:30             ` Petr Vorel
  0 siblings, 1 reply; 8+ messages in thread
From: Li Wang @ 2022-10-09  3:33 UTC (permalink / raw)
  To: Avinesh Kumar; +Cc: LTP List


[-- Attachment #1.1: Type: text/plain, Size: 1111 bytes --]

Hi all,

Pushed V2 with minor fixes.

On Fri, Sep 16, 2022 at 10:12 AM Li Wang <liwang@redhat.com> wrote:

> Hi Avinesh, Petr,
>
> On Thu, Sep 15, 2022 at 6:00 PM Avinesh Kumar <akumar@suse.de> wrote:
>
>> Hi Li,
>>
>> Sorry, I missed acting on the review comments you had provided. Thank you
>> for
>> implementing them. Your patch looks good, I have tested as well.
>>
>
> Thanks, btw we also need to take care of the .gitignore and syscalls run
> test file.
> Someone can help add this when merging the patch.
>
> --- a/runtest/syscalls
> +++ b/runtest/syscalls
> @@ -466,7 +466,6 @@ gethostname01 gethostname01
>
>  getitimer01 getitimer01
>  getitimer02 getitimer02
> -getitimer03 getitimer03
>
>  getpagesize01 getpagesize01
>
> diff --git a/testcases/kernel/syscalls/getitimer/.gitignore
> b/testcases/kernel/syscalls/getitimer/.gitignore
> index 6533d4b50..0a46a1021 100644
> --- a/testcases/kernel/syscalls/getitimer/.gitignore
> +++ b/testcases/kernel/syscalls/getitimer/.gitignore
> @@ -1,3 +1,2 @@
>  /getitimer01
>  /getitimer02
> -/getitimer03
>
> --
> Regards,
> Li Wang
>


-- 
Regards,
Li Wang

[-- Attachment #1.2: Type: text/html, Size: 2397 bytes --]

[-- Attachment #2: Type: text/plain, Size: 60 bytes --]


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [LTP] [PATCH v2] getitimer03.c: convert to new LTP API
  2022-10-09  3:33           ` Li Wang
@ 2022-10-10  6:30             ` Petr Vorel
  0 siblings, 0 replies; 8+ messages in thread
From: Petr Vorel @ 2022-10-10  6:30 UTC (permalink / raw)
  To: Li Wang; +Cc: LTP List

Hi Avinesh, Li,

FYI missing space in docparse before list causes list not being formatted.
I fixed it in fa9a4c29e ("getitimer02: Fix docparse format").

Kind regards,
Petr

+++ testcases/kernel/syscalls/getitimer/getitimer02.c
@@ -9,6 +9,7 @@
  * [Description]
  *
  * Check that getitimer() call fails:
+ *
  * 1. EFAULT with invalid itimerval pointer
  * 2. EINVAL when called with an invalid first argument
  */


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-10-10  6:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-20 10:44 [LTP] [PATCH] getitimer03.c: convert to new LTP API Avinesh Kumar
2022-07-21  4:04 ` Li Wang
2022-09-14 20:52   ` Petr Vorel
2022-09-15  7:49     ` [LTP] [PATCH v2] " Li Wang
2022-09-15 10:00       ` Avinesh Kumar
2022-09-16  2:12         ` Li Wang
2022-10-09  3:33           ` Li Wang
2022-10-10  6:30             ` Petr Vorel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.