diff options
author | Vikas Gupta <vikas.gupta@broadcom.com> | 2022-08-04 14:48:02 +0530 |
---|---|---|
committer | David Ahern <dsahern@kernel.org> | 2022-08-04 12:34:28 -0600 |
commit | 06cb288d63f517e2e11453683fc998321af084df (patch) | |
tree | 0720cc3aee08807b82a32e055f5db5cd30aa97ed /bash-completion | |
parent | 3bb2c10c649d9e2bbc62b5cf637fbc47a98dfdc2 (diff) | |
download | iproute2-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/devlink | 30 |
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 ;; |