[LTP] [PATCH v2] fstat_02: Increase test coverage by creating hard link to file and validate using fstat
Kushal Chand
kushalkataria5@gmail.com
Wed Feb 23 11:20:13 CET 2022
Hi,
Apology for the late reply.
I am not sure about the st_blocks size. If you can guide me how to check
that I might work on that?
Are you planning to merge this patch with the st_blocks check or the
current version is ready to be merged?
On Thu, Feb 10, 2022 at 9:04 PM Cyril Hrubis <chrubis@suse.cz> wrote:
> Hi!
> The subject should be shorter and more to the point, something as:
>
> "fstat02: Validate st_nlink as well"
>
> > Implements: #517
>
> The code looks good now, but it's not complete solution to #517, there
> are still many fields of the structure that are not checked and a few
> more patches would be required to complete it.
>
> For instance the st_blocks should be more or less equal size/512
>
> And we should check the atime/mtime/ctime as well, but maybe it would be
> easier if we do that in a separate test.
>
> > This patch creates a hard link for a file during setup and checks if
> number of hardlinks
> > match with the expected number.
>
> This is missing Signed-off-by: line see:
>
>
> https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin
>
> > ---
> > testcases/kernel/syscalls/fstat/fstat02.c | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/testcases/kernel/syscalls/fstat/fstat02.c
> b/testcases/kernel/syscalls/fstat/fstat02.c
> > index c0229de44..2f9632edf 100644
> > --- a/testcases/kernel/syscalls/fstat/fstat02.c
> > +++ b/testcases/kernel/syscalls/fstat/fstat02.c
> > @@ -17,8 +17,10 @@
> > #include "tst_safe_macros.h"
> >
> > #define TESTFILE "test_file"
> > +#define LINK_TESTFILE "link_test_file"
> > #define FILE_SIZE 1024
> > #define FILE_MODE 0644
> > +#define NLINK 2
> >
> > static struct stat stat_buf;
> > static uid_t user_id;
> > @@ -61,6 +63,12 @@ static void run(void)
> > fail++;
> > }
> >
> > + if (stat_buf.st_nlink != NLINK) {
> > + tst_res(TFAIL, "stat_buf.st_nlink = %li expected %i",
> > + (long)stat_buf.st_nlink, NLINK);
> > + fail++;
> > + }
> > +
> > if (fail)
> > return;
> >
> > @@ -78,6 +86,8 @@ static void setup(void)
> >
> > if (tst_fill_file(TESTFILE, 'a', FILE_SIZE, 1))
> > tst_brk(TBROK, "Could not fill Testfile!");
> > +
> > + SAFE_LINK(TESTFILE, LINK_TESTFILE);
> > }
> >
> > static void cleanup(void)
> > --
> > 2.25.1
> >
> >
> > --
> > Mailing list info: https://lists.linux.it/listinfo/ltp
>
> --
> Cyril Hrubis
> chrubis@suse.cz
On Thu, Feb 10, 2022 at 9:04 PM Cyril Hrubis <chrubis@suse.cz> wrote:
> Hi!
> The subject should be shorter and more to the point, something as:
>
> "fstat02: Validate st_nlink as well"
>
> > Implements: #517
>
> The code looks good now, but it's not complete solution to #517, there
> are still many fields of the structure that are not checked and a few
> more patches would be required to complete it.
>
> For instance the st_blocks should be more or less equal size/512
>
> And we should check the atime/mtime/ctime as well, but maybe it would be
> easier if we do that in a separate test.
>
> > This patch creates a hard link for a file during setup and checks if
> number of hardlinks
> > match with the expected number.
>
> This is missing Signed-off-by: line see:
>
>
> https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin
>
> > ---
> > testcases/kernel/syscalls/fstat/fstat02.c | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/testcases/kernel/syscalls/fstat/fstat02.c
> b/testcases/kernel/syscalls/fstat/fstat02.c
> > index c0229de44..2f9632edf 100644
> > --- a/testcases/kernel/syscalls/fstat/fstat02.c
> > +++ b/testcases/kernel/syscalls/fstat/fstat02.c
> > @@ -17,8 +17,10 @@
> > #include "tst_safe_macros.h"
> >
> > #define TESTFILE "test_file"
> > +#define LINK_TESTFILE "link_test_file"
> > #define FILE_SIZE 1024
> > #define FILE_MODE 0644
> > +#define NLINK 2
> >
> > static struct stat stat_buf;
> > static uid_t user_id;
> > @@ -61,6 +63,12 @@ static void run(void)
> > fail++;
> > }
> >
> > + if (stat_buf.st_nlink != NLINK) {
> > + tst_res(TFAIL, "stat_buf.st_nlink = %li expected %i",
> > + (long)stat_buf.st_nlink, NLINK);
> > + fail++;
> > + }
> > +
> > if (fail)
> > return;
> >
> > @@ -78,6 +86,8 @@ static void setup(void)
> >
> > if (tst_fill_file(TESTFILE, 'a', FILE_SIZE, 1))
> > tst_brk(TBROK, "Could not fill Testfile!");
> > +
> > + SAFE_LINK(TESTFILE, LINK_TESTFILE);
> > }
> >
> > static void cleanup(void)
> > --
> > 2.25.1
> >
> >
> > --
> > Mailing list info: https://lists.linux.it/listinfo/ltp
>
> --
> Cyril Hrubis
> chrubis@suse.cz
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux.it/pipermail/ltp/attachments/20220223/725cff01/attachment.htm>
More information about the ltp
mailing list