Message ID | 20220810093508.33790-1-pthange19@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests:net:forwarding: Included install command | expand |
On Wed, 10 Aug 2022 15:05:08 +0530 Piyush Thange <pthange19@gmail.com> wrote: > If the execution is skipped due to "jq not installed" message then > the installation methods on different OS's have been provided with > this message. > > Signed-off-by: Piyush Thange <pthange19@gmail.com> > --- > tools/testing/selftests/net/forwarding/lib.sh | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh > index 37ae49d47853..c4121856fe06 100755 > --- a/tools/testing/selftests/net/forwarding/lib.sh > +++ b/tools/testing/selftests/net/forwarding/lib.sh > @@ -152,6 +152,14 @@ require_command() > > if [[ ! -x "$(command -v "$cmd")" ]]; then > echo "SKIP: $cmd not installed" > + if [[ $cmd == "jq" ]]; then > + echo " Install on Debian based systems" > + echo " sudo apt -y install jq" > + echo " Install on RHEL based systems" > + echo " sudo yum -y install jq" > + echo " Install on Fedora based systems" > + echo " sudo dnf -y install jq" > + fi > exit $ksft_skip > fi > } > -- > 2.37.1 This is very specific to `jq` command. What's special with `jq` and not others? If methods have to be shown, they should be shown for all the programs which are not installed. Further, this limits the information to specific package managers and systems in the userspace. Tomorrow a new system may come, which will cause this list to grow, not to mention other existing package managers. The kernel also doesn't have a role in it, so we should try to be generic as much as possible. Thanks, Siddh
On Wed, Aug 10, 2022 at 03:23:15PM +0530, Siddh Raman Pant wrote: > On Wed, 10 Aug 2022 15:05:08 +0530 Piyush Thange <pthange19@gmail.com> wrote: > > If the execution is skipped due to "jq not installed" message then > > the installation methods on different OS's have been provided with > > this message. > > > > Signed-off-by: Piyush Thange <pthange19@gmail.com> > > --- > > tools/testing/selftests/net/forwarding/lib.sh | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh > > index 37ae49d47853..c4121856fe06 100755 > > --- a/tools/testing/selftests/net/forwarding/lib.sh > > +++ b/tools/testing/selftests/net/forwarding/lib.sh > > @@ -152,6 +152,14 @@ require_command() > > > > if [[ ! -x "$(command -v "$cmd")" ]]; then > > echo "SKIP: $cmd not installed" > > + if [[ $cmd == "jq" ]]; then > > + echo " Install on Debian based systems" > > + echo " sudo apt -y install jq" > > + echo " Install on RHEL based systems" > > + echo " sudo yum -y install jq" > > + echo " Install on Fedora based systems" > > + echo " sudo dnf -y install jq" > > + fi > > exit $ksft_skip > > fi > > } > > -- > > 2.37.1 > > This is very specific to `jq` command. What's special with `jq` and not > others? If methods have to be shown, they should be shown for all the > programs which are not installed. Agree. The user could decide if jq should be install via REQUIRE_JQ. There are also other cmds that vendor may not build by default. I didn't see any selftests need to handle the installation. The users should takes care of it. require_command() has takes care most of the needed cmds. If we want to improve the user's experience for the needed cmds. I think add the needed cmds to README file is better. Thanks Hangbin
diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh index 37ae49d47853..c4121856fe06 100755 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -152,6 +152,14 @@ require_command() if [[ ! -x "$(command -v "$cmd")" ]]; then echo "SKIP: $cmd not installed" + if [[ $cmd == "jq" ]]; then + echo " Install on Debian based systems" + echo " sudo apt -y install jq" + echo " Install on RHEL based systems" + echo " sudo yum -y install jq" + echo " Install on Fedora based systems" + echo " sudo dnf -y install jq" + fi exit $ksft_skip fi }
If the execution is skipped due to "jq not installed" message then the installation methods on different OS's have been provided with this message. Signed-off-by: Piyush Thange <pthange19@gmail.com> --- tools/testing/selftests/net/forwarding/lib.sh | 8 ++++++++ 1 file changed, 8 insertions(+) -- 2.37.1