[LTP] [PATCH] getrlimit02: add EFAULT case & use TST_EXP_FAIL() macro
Avinesh Kumar
akumar@suse.de
Mon Nov 21 12:50:38 CET 2022
Signed-off-by: Avinesh Kumar <akumar@suse.de>
---
.../kernel/syscalls/getrlimit/getrlimit02.c | 27 ++++++++-----------
1 file changed, 11 insertions(+), 16 deletions(-)
diff --git a/testcases/kernel/syscalls/getrlimit/getrlimit02.c b/testcases/kernel/syscalls/getrlimit/getrlimit02.c
index 586ca5a67..9b68ce20b 100644
--- a/testcases/kernel/syscalls/getrlimit/getrlimit02.c
+++ b/testcases/kernel/syscalls/getrlimit/getrlimit02.c
@@ -18,33 +18,28 @@
#include <sys/resource.h>
#include "tst_test.h"
-#define RLIMIT_TOO_HIGH 1000
+#define INVALID_RES_TYPE 1000
static struct rlimit rlim;
static struct tcase {
- int exp_errno; /* Expected error no */
- char *exp_errval; /* Expected error value string */
- struct rlimit *rlim; /* rlimit structure */
- int res_type; /* resource type */
+ int exp_errno;
+ char *desc;
+ struct rlimit *rlim;
+ int res_type;
} tcases[] = {
- { EINVAL, "EINVAL", &rlim, RLIMIT_TOO_HIGH}
+ {EFAULT, "invalid address", (void *)-1, RLIMIT_CORE},
+ {EINVAL, "invalid resource type", &rlim, INVALID_RES_TYPE}
};
static void verify_getrlimit(unsigned int i)
{
struct tcase *tc = &tcases[i];
- TEST(getrlimit(tc->res_type, tc->rlim));
-
- if ((TST_RET == -1) && (TST_ERR == tc->exp_errno)) {
- tst_res(TPASS, "expected failure; got %s",
- tc->exp_errval);
- } else {
- tst_res(TFAIL, "call failed to produce "
- "expected error; errno: %d : %s",
- TST_ERR, strerror(TST_ERR));
- }
+ TST_EXP_FAIL(getrlimit(tc->res_type, tc->rlim),
+ tc->exp_errno,
+ "getrlimit() with %s",
+ tc->desc);
}
static struct tst_test test = {
--
2.38.1
More information about the ltp
mailing list