[LTP] [PATCH 5/5] Add test for data integrity over NFS
Petr Vorel
pvorel@suse.cz
Tue Nov 12 22:23:02 CET 2024
> > Hi!
> > > I'm looking at the nfs_lib.sh, we do have a lot there actually since it
> > > runs for all filesystems and we run the nfs tests for different nfs
> > > versions as well. This does not seem that would integrate well into the
> > > tst_test all_filesystems testing.
> Yes (found that as well when replied to your first email).
> I thought you want to integrate NFS just for a shake of other tests, which use
> .all_filesystems (e.g. some NFS to be added into fs_type_whitelist[], e.g.
> "nfsv4), which would of course require u specific setup.
> That would, of course did not cover all range of NFS versions + also using UDP,
> which is used for current NFS tests (including this one).
> > > I will think a bit how to integrate things better, because having LTP
> > > test inside LTP test will never work well.
> Reviewed-by: Petr Vorel <pvorel@suse.cz>
> Tested-by: Petr Vorel <pvorel@suse.cz>
> Looks usable + later on tests which use netstress.c could be converted to use it
> as well.
@Cyril: gently ping, could you please merge the patch you posted below?
Obviously usable test + example which can be used for network tests.
Kind regards,
Petr
> Kind regards,
> Petr
> > So one posibility is to use the new shell test library that integrates
> > cleanly with C, then we can have a shell nfs test that runs for all
> > filesystems, mounts the nfs and then runs the C fsplough itself.
> > Minimal example how to do that is:
> > From b48184d4fa1918afe6c84d0e691f8d46c986e92c Mon Sep 17 00:00:00 2001
> > From: Cyril Hrubis <chrubis@suse.cz>
> > Date: Mon, 4 Nov 2024 14:29:24 +0100
> > Subject: [PATCH] shell lib: Add example how to run C child
> > Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
> > ---
> > testcases/lib/run_tests.sh | 2 +-
> > testcases/lib/tests/.gitignore | 1 +
> > testcases/lib/tests/shell_c_child.c | 16 ++++++++++++++
> > testcases/lib/tests/shell_loader_c_child.sh | 24 +++++++++++++++++++++
> > 4 files changed, 42 insertions(+), 1 deletion(-)
> > create mode 100644 testcases/lib/tests/shell_c_child.c
> > create mode 100755 testcases/lib/tests/shell_loader_c_child.sh
> > diff --git a/testcases/lib/run_tests.sh b/testcases/lib/run_tests.sh
> > index 8ea615f96..40d415e6c 100755
> > --- a/testcases/lib/run_tests.sh
> > +++ b/testcases/lib/run_tests.sh
> > @@ -14,7 +14,7 @@ for i in shell_loader.sh shell_loader_all_filesystems.sh shell_loader_no_metadat
> > shell_loader_wrong_metadata.sh shell_loader_invalid_metadata.sh\
> > shell_loader_supported_archs.sh shell_loader_filesystems.sh\
> > shell_loader_tcnt.sh shell_loader_kconfigs.sh shell_loader_tags.sh \
> > - shell_loader_invalid_block.sh; do
> > + shell_loader_invalid_block.sh shell_loader_c_child.sh; do
> > echo
> > echo "*** Running $i ***"
> > echo
> > diff --git a/testcases/lib/tests/.gitignore b/testcases/lib/tests/.gitignore
> > index da967c4d6..e9e163d13 100644
> > --- a/testcases/lib/tests/.gitignore
> > +++ b/testcases/lib/tests/.gitignore
> > @@ -4,3 +4,4 @@ shell_test03
> > shell_test04
> > shell_test05
> > shell_test06
> > +shell_c_child
> > diff --git a/testcases/lib/tests/shell_c_child.c b/testcases/lib/tests/shell_c_child.c
> > new file mode 100644
> > index 000000000..fda5133a6
> > --- /dev/null
> > +++ b/testcases/lib/tests/shell_c_child.c
> > @@ -0,0 +1,16 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
> > +/*
> > + * Shell test C child example.
> > + */
> > +
> > +#define TST_NO_DEFAULT_MAIN
> > +#include "tst_test.h"
> > +
> > +int main(void)
> > +{
> > + tst_reinit();
> > +
> > + tst_res(TPASS, "C child works fine!");
> > +
> > + return 0;
> > +}
> > diff --git a/testcases/lib/tests/shell_loader_c_child.sh b/testcases/lib/tests/shell_loader_c_child.sh
> > new file mode 100755
> > index 000000000..d190be6e2
> > --- /dev/null
> > +++ b/testcases/lib/tests/shell_loader_c_child.sh
> > @@ -0,0 +1,24 @@
> > +#!/bin/sh
> > +#
> > +# ---
> > +# doc
> > +#
> > +# [Description]
> > +#
> > +# This is an example how to run C child from shell.
> > +# ---
> > +#
> > +# ---
> > +# env
> > +# {
> > +# }
> > +# ---
> > +
> > +. tst_loader.sh
> > +
> > +if [ -n "LTP_IPC_PATH" ]; then
> > + tst_res TPASS "LTP_IPC_PATH=$LTP_IPC_PATH!"
> > +fi
> > +
> > +tst_res TINFO "Running C child"
> > +shell_c_child
More information about the ltp
mailing list