summaryrefslogtreecommitdiff
path: root/bash-completion
diff options
context:
space:
mode:
authorVikas Gupta <vikas.gupta@broadcom.com>2022-08-04 14:48:02 +0530
committerDavid Ahern <dsahern@kernel.org>2022-08-04 12:34:28 -0600
commit06cb288d63f517e2e11453683fc998321af084df (patch)
tree0720cc3aee08807b82a32e055f5db5cd30aa97ed /bash-completion
parent3bb2c10c649d9e2bbc62b5cf637fbc47a98dfdc2 (diff)
downloadiproute2-06cb288d63f517e2e11453683fc998321af084df.tar.gz
devlink: add support for running selftests
Add commands and helper APIs to run selftests. Include a selftest id for a non volatile memory i.e. flash. Also, update the man page and bash-completion for selftests commands. Examples: $ devlink dev selftests run pci/0000:03:00.0 id flash pci/0000:03:00.0: flash: status passed $ devlink dev selftests show pci/0000:03:00.0 pci/0000:03:00.0 flash $ devlink dev selftests show pci/0000:03:00.0 -j {"selftests":{"pci/0000:03:00.0":["flash"]}} $ devlink dev selftests run pci/0000:03:00.0 id flash -j {"selftests":{"pci/0000:03:00.0":{"flash":{"status":"passed"}}}} Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David Ahern <dsahern@kernel.org>
Diffstat (limited to 'bash-completion')
-rw-r--r--bash-completion/devlink30
1 files changed, 29 insertions, 1 deletions
diff --git a/bash-completion/devlink b/bash-completion/devlink
index 757e03b7..52dc82b3 100644
--- a/bash-completion/devlink
+++ b/bash-completion/devlink
@@ -33,6 +33,11 @@ _devlink_direct_complete()
dev)
value=$(devlink dev show 2>/dev/null)
;;
+ selftests_id)
+ dev=${words[4]}
+ value=$(devlink -j dev selftests show 2>/dev/null \
+ | jq ".selftests[\"$dev\"][]")
+ ;;
param_name)
dev=${words[4]}
value=$(devlink -j dev param show 2>/dev/null \
@@ -275,6 +280,29 @@ _devlink_dev_flash()
esac
}
+# Completion for devlink dev selftests
+_devlink_dev_selftests()
+{
+ if [[ $cword -gt 5 ]]; then
+ _devlink_direct_complete "selftests_id"
+ return
+ fi
+ case "$cword" in
+ 3)
+ COMPREPLY=( $( compgen -W "show run" -- "$cur" ) )
+ return
+ ;;
+ 4)
+ _devlink_direct_complete "dev"
+ return
+ ;;
+ 5)
+ COMPREPLY=( $( compgen -W "id" -- "$cur" ) )
+ return
+ ;;
+ esac
+}
+
# Completion for devlink dev
_devlink_dev()
{
@@ -287,7 +315,7 @@ _devlink_dev()
fi
return
;;
- eswitch|param)
+ eswitch|param|selftests)
_devlink_dev_$command
return
;;