Message ID | 20220708110228.40301-1-luoxiaoyu9@huawei.com |
---|---|
State | Accepted |
Headers | show |
Series | syscalls/open03.c: Rewrite open03.c using new LTP API | expand |
Hi On Friday, July 8, 2022 4:32:28 PM IST Luo xiaoyu via ltp wrote: > Signed-off-by: Luo xiaoyu <luoxiaoyu9@huawei.com> > --- > testcases/kernel/syscalls/open/open03.c | 103 +++++++----------------- > 1 file changed, 27 insertions(+), 76 deletions(-) > > diff --git a/testcases/kernel/syscalls/open/open03.c > b/testcases/kernel/syscalls/open/open03.c index aa15ee9e9..7926e50f4 100644 > --- a/testcases/kernel/syscalls/open/open03.c > +++ b/testcases/kernel/syscalls/open/open03.c > @@ -1,90 +1,41 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later > /* > * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. > - * > - * This program is free software; you can redistribute it and/or modify it > - * under the terms of version 2 of the GNU 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. > - * > - * Further, this software is distributed without any warranty that it is > - * free of the rightful claim of any third person regarding infringement > - * or the like. Any license provided herein, whether implied or > - * otherwise, applies only to this software file. Patent licenses, if > - * any, provided herein do not apply to combinations of this program with > - * other software, or any other product whatsoever. > - * > - * You should have received a copy of the GNU General Public License along > - * with this program; if not, write the Free Software Foundation, Inc., > - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. > - * > - * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, > - * Mountain View, CA 94043, or: > - * > */ > > -#include <sys/types.h> > -#include <fcntl.h> > -#include <errno.h> > -#include <string.h> > -#include <signal.h> > -#include "test.h" > -#include "safe_macros.h" > - > -static void setup(void); > -static void cleanup(void); > +/*\ > + * [DESCRIPTION] ^ Description > + * > + * Testcase to check that open a new file with O_RDWR | O_CREAT > successfully. + */ > > -char *TCID = "open03"; > -int TST_TOTAL = 1; > +#include "tst_test.h" > > -static char fname[255]; > -static int fd; > +#define TEST_FILE "testfile" > > -int main(int ac, char **av) > +static void verify_open(void) > { > - int lc; > - > - tst_parse_opts(ac, av, NULL, NULL); > - > - setup(); > - > - for (lc = 0; TEST_LOOPING(lc); lc++) { > - tst_count = 0; > - > - TEST(open(fname, O_RDWR | O_CREAT, 0700)); > - fd = TEST_RETURN; > - > - if (TEST_RETURN == -1) { > - tst_resm(TFAIL | TTERRNO, > - "open(%s,O_RDWR|O_CREAT,0700) failed", fname); > - } else { > - tst_resm(TPASS, > - "open(%s, O_RDWR|O_CREAT,0700) returned %ld", > - fname, TEST_RETURN); > - > - SAFE_CLOSE(cleanup, fd); > - SAFE_UNLINK(cleanup, fname); > - } > + int fd; > + > + TEST(open(TEST_FILE, O_RDWR | O_CREAT, 0700)); > + fd = TST_RET; > + > + if (TST_RET == -1) { > + tst_res(TFAIL | TTERRNO, > + "open(%s, O_RDWR | O_CREAT, 0700) failed", TEST_FILE); > + } else { > + tst_res(TPASS, > + "open(%s, O_RDWR | O_CREAT, 0700) returned %ld", > + TEST_FILE, TST_RET); > } I think we should use TST_EXP_FD() macro here -
Hi, Sorry for the ill-formatted previous response. On Friday, July 8, 2022 4:32:28 PM IST Luo xiaoyu via ltp wrote: > Signed-off-by: Luo xiaoyu <luoxiaoyu9@huawei.com> > --- > testcases/kernel/syscalls/open/open03.c | 103 +++++++----------------- > 1 file changed, 27 insertions(+), 76 deletions(-) > > diff --git a/testcases/kernel/syscalls/open/open03.c > b/testcases/kernel/syscalls/open/open03.c index aa15ee9e9..7926e50f4 100644 > --- a/testcases/kernel/syscalls/open/open03.c > +++ b/testcases/kernel/syscalls/open/open03.c > @@ -1,90 +1,41 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later > /* > * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. > - * > - * This program is free software; you can redistribute it and/or modify it > - * under the terms of version 2 of the GNU 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. > - * > - * Further, this software is distributed without any warranty that it is > - * free of the rightful claim of any third person regarding infringement > - * or the like. Any license provided herein, whether implied or > - * otherwise, applies only to this software file. Patent licenses, if > - * any, provided herein do not apply to combinations of this program with > - * other software, or any other product whatsoever. > - * > - * You should have received a copy of the GNU General Public License along > - * with this program; if not, write the Free Software Foundation, Inc., > - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. > - * > - * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, > - * Mountain View, CA 94043, or: > - * > */ > > -#include <sys/types.h> > -#include <fcntl.h> > -#include <errno.h> > -#include <string.h> > -#include <signal.h> > -#include "test.h" > -#include "safe_macros.h" > - > -static void setup(void); > -static void cleanup(void); > +/*\ > + * [DESCRIPTION] ^ Description > + * > + * Testcase to check that open a new file with O_RDWR | O_CREAT > successfully. + */ > > -char *TCID = "open03"; > -int TST_TOTAL = 1; > +#include "tst_test.h" > > -static char fname[255]; > -static int fd; > +#define TEST_FILE "testfile" > > -int main(int ac, char **av) > +static void verify_open(void) > { > - int lc; > - > - tst_parse_opts(ac, av, NULL, NULL); > - > - setup(); > - > - for (lc = 0; TEST_LOOPING(lc); lc++) { > - tst_count = 0; > - > - TEST(open(fname, O_RDWR | O_CREAT, 0700)); > - fd = TEST_RETURN; > - > - if (TEST_RETURN == -1) { > - tst_resm(TFAIL | TTERRNO, > - "open(%s,O_RDWR|O_CREAT,0700) failed", fname); > - } else { > - tst_resm(TPASS, > - "open(%s, O_RDWR|O_CREAT,0700) returned %ld", > - fname, TEST_RETURN); > - > - SAFE_CLOSE(cleanup, fd); > - SAFE_UNLINK(cleanup, fname); > - } > + int fd; > + > + TEST(open(TEST_FILE, O_RDWR | O_CREAT, 0700)); > + fd = TST_RET; > + > + if (TST_RET == -1) { > + tst_res(TFAIL | TTERRNO, > + "open(%s, O_RDWR | O_CREAT, 0700) failed", TEST_FILE); > + } else { > + tst_res(TPASS, > + "open(%s, O_RDWR | O_CREAT, 0700) returned %ld", > + TEST_FILE, TST_RET); > } I think we should use TST_EXP_FD() macro here - TST_EXP_FD(open(TEST_FILE, O_RDWR | O_CREAT, 0700)); SAFE_CLOSE(TST_RET); > > - cleanup(); > - tst_exit(); > + SAFE_CLOSE(fd); > + SAFE_UNLINK(TEST_FILE); > } > > -static void setup(void) > -{ > - tst_sig(NOFORK, DEF_HANDLER, cleanup); > - > - TEST_PAUSE; > - > - tst_tmpdir(); > > - sprintf(fname, "tfile_%d", getpid()); > -} > > -static void cleanup(void) > -{ > - tst_rmdir(); > -} > +static struct tst_test test = { > + .needs_tmpdir = 1, > + .test_all = verify_open, > +}; > -- > 2.17.1 -- Avinesh
Hi Leo, Avinesh, thanks Leo for your patch, Avinesh for a review. Merged with changes proposed by Avinesh and slightly reworded docparse description and added LTP copyright. Kind regards, Petr
diff --git a/testcases/kernel/syscalls/open/open03.c b/testcases/kernel/syscalls/open/open03.c index aa15ee9e9..7926e50f4 100644 --- a/testcases/kernel/syscalls/open/open03.c +++ b/testcases/kernel/syscalls/open/open03.c @@ -1,90 +1,41 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU 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. - * - * Further, this software is distributed without any warranty that it is - * free of the rightful claim of any third person regarding infringement - * or the like. Any license provided herein, whether implied or - * otherwise, applies only to this software file. Patent licenses, if - * any, provided herein do not apply to combinations of this program with - * other software, or any other product whatsoever. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, - * Mountain View, CA 94043, or: - * */ -#include <sys/types.h> -#include <fcntl.h> -#include <errno.h> -#include <string.h> -#include <signal.h> -#include "test.h" -#include "safe_macros.h" - -static void setup(void); -static void cleanup(void); +/*\ + * [DESCRIPTION] + * + * Testcase to check that open a new file with O_RDWR | O_CREAT successfully. + */ -char *TCID = "open03"; -int TST_TOTAL = 1; +#include "tst_test.h" -static char fname[255]; -static int fd; +#define TEST_FILE "testfile" -int main(int ac, char **av) +static void verify_open(void) { - int lc; - - tst_parse_opts(ac, av, NULL, NULL); - - setup(); - - for (lc = 0; TEST_LOOPING(lc); lc++) { - tst_count = 0; - - TEST(open(fname, O_RDWR | O_CREAT, 0700)); - fd = TEST_RETURN; - - if (TEST_RETURN == -1) { - tst_resm(TFAIL | TTERRNO, - "open(%s,O_RDWR|O_CREAT,0700) failed", fname); - } else { - tst_resm(TPASS, - "open(%s, O_RDWR|O_CREAT,0700) returned %ld", - fname, TEST_RETURN); - - SAFE_CLOSE(cleanup, fd); - SAFE_UNLINK(cleanup, fname); - } + int fd; + + TEST(open(TEST_FILE, O_RDWR | O_CREAT, 0700)); + fd = TST_RET; + + if (TST_RET == -1) { + tst_res(TFAIL | TTERRNO, + "open(%s, O_RDWR | O_CREAT, 0700) failed", TEST_FILE); + } else { + tst_res(TPASS, + "open(%s, O_RDWR | O_CREAT, 0700) returned %ld", + TEST_FILE, TST_RET); } - cleanup(); - tst_exit(); + SAFE_CLOSE(fd); + SAFE_UNLINK(TEST_FILE); } -static void setup(void) -{ - tst_sig(NOFORK, DEF_HANDLER, cleanup); - - TEST_PAUSE; - - tst_tmpdir(); - sprintf(fname, "tfile_%d", getpid()); -} -static void cleanup(void) -{ - tst_rmdir(); -} +static struct tst_test test = { + .needs_tmpdir = 1, + .test_all = verify_open, +};
Signed-off-by: Luo xiaoyu <luoxiaoyu9@huawei.com> --- testcases/kernel/syscalls/open/open03.c | 103 +++++++----------------- 1 file changed, 27 insertions(+), 76 deletions(-) -- 2.17.1