[PATCH i-g-t v1 1/2] RFC /scripts/bash-autocomplete: Create bash autocompletion scripts for tests

Jan Sokolowski jan.sokolowski at intel.com
Mon Jul 14 12:01:29 UTC 2025


Add installation and uninstallation scripts for bash autocompletion
for tests.

Signed-off-by: Jan Sokolowski <jan.sokolowski at intel.com>
Cc: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
Cc: Katarzyna Piecielska <katarzyna.piecielska at intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
Cc: Ashutosh Dixit <ashutosh.dixit at intel.com>
---
 .../install_completions.sh                    | 47 +++++++++++++++++++
 .../uninstall_completions.sh                  |  9 ++++
 2 files changed, 56 insertions(+)
 create mode 100755 scripts/bash_autocompletion/install_completions.sh
 create mode 100755 scripts/bash_autocompletion/uninstall_completions.sh

diff --git a/scripts/bash_autocompletion/install_completions.sh b/scripts/bash_autocompletion/install_completions.sh
new file mode 100755
index 000000000..40cc87403
--- /dev/null
+++ b/scripts/bash_autocompletion/install_completions.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+# SPDX-License-Identifier: MIT
+# Copyright © 2025 Intel Corporation
+# Author: Jan Sokolowski <jan.sokolowski at intel.com>
+
+__generate_completion() {
+
+cat <<EOF > $1
+_$1()
+{
+	local cur prev words cword
+	_init_completion || return
+
+	case \$prev in
+		--run-subtest | --dynamic-subtest)
+			local IFS=$'\n\b'
+			LIST_OF_TESTS="echo -e \`/usr/local/libexec/igt-gpu-tools/$1 --list-subtest\`"
+			COMPREPLY=(\$(compgen -W "\$LIST_OF_TESTS" -- "\$cur"))
+			return
+			;;
+		--device)
+			COMPREPLY=(\$(compgen -o nospace -W "sys: pci: sriov: drm:" -- "\$cur"))
+			;;
+	esac
+
+	if [[ \$cur == -* ]]; then
+		COMPREPLY=(\$(compgen -W '\$(_parse_help "/usr/local/libexec/igt-gpu-tools/$1")' -- "\$cur"))
+	fi
+
+} &&
+complete -F _$1 $1
+EOF
+
+cp $1 /usr/share/bash-completion/completions/
+
+}
+
+mkdir /tmp/igt-gpu-tools-bash-completion-installer
+cd /tmp/igt-gpu-tools-bash-completion-installer
+
+for TEST in `find /usr/local/libexec/igt-gpu-tools -type f | grep -v intel-ci-tests | rev | cut -d'/' -f1 | rev`;
+do
+__generate_completion $TEST
+done
+
+cd -
+rm -rf /tmp/igt-gpu-tools-bash-completion-installer
diff --git a/scripts/bash_autocompletion/uninstall_completions.sh b/scripts/bash_autocompletion/uninstall_completions.sh
new file mode 100755
index 000000000..26345d6e2
--- /dev/null
+++ b/scripts/bash_autocompletion/uninstall_completions.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+# SPDX-License-Identifier: MIT
+# Copyright © 2025 Intel Corporation
+# Author: Jan Sokolowski <jan.sokolowski at intel.com>
+
+for TEST in `find /usr/local/libexec/igt-gpu-tools -type f | grep -v intel-ci-tests | rev | cut -d'/' -f1 | rev`;
+do
+rm /usr/share/bash-completion/completions/$TEST
+done
-- 
2.34.1



More information about the igt-dev mailing list