Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Unified Diff: tools/bash-completion

Issue 2435893002: Bash completion support for run-webkit-tests (i.e. for layout tests). (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/bash-completion
diff --git a/tools/bash-completion b/tools/bash-completion
index fce7ea38321b46bac7c1be1243aca50410b921fc..e86767f17026d9ada6dda7741b0509165ed97ad2 100644
--- a/tools/bash-completion
+++ b/tools/bash-completion
@@ -5,6 +5,21 @@
# Flag completion rule for bash.
# To load in your shell, "source path/to/this/file".
+# Usage examples
+# ==============
+#
+# Browser command line switches:
+# $ out/gn/chrome --site-per-pro<tab>
+# $ google-chrome --site-per-pro<tab>
+#
+# Test switches (i.e. --gtest_* and --test-launcher-* switches):
+# $ out/gn/unit_tests --gtest_filt<tab>
+# $ out/gn/unit_tests --test-launcher-j<tab>
+#
+# Layout test switches:
+# $ third_party/WebKit/Tools/Scripts/run-webkit-tests --additional-driver-f<tab>
+# $ .../run-webkit-tests --additional-driver-flag=--site-per-pro<tab>
+
chrome_source=$(cd $(dirname $BASH_SOURCE)/.. && pwd)
_chrome_flag() {
@@ -29,6 +44,33 @@ _gtest_flag() {
return 0
}
+_layout_test_flag() {
+ local cur targets webkitpy_dir prev_switch
+ cur="${COMP_WORDS[COMP_CWORD]}"
+
+ # Complete content_shell switches if appropriate.
+ if [ "${COMP_CWORD}" -gt 2 -a "${COMP_WORDS[COMP_CWORD-1]}" = "=" ]
+ then
+ prev_switch="${COMP_WORDS[COMP_CWORD-2]}"
+ if [ "$prev_switch" = "--additional-drt-flag" -o \
+ "$prev_switch" = "--additional-driver-flag" ]
+ then
+ targets=$(cd $chrome_source; \
+ git ls-files 'content/*switches*.cc' | \
+ xargs sed -ne 's/^[^/]*"\([^" /]\{1,\}\)".*/--\1/p')
+ COMPREPLY=($(compgen -W "$targets" -- "$cur"))
+ return 0
+ fi
+ fi
+
+ # Complete run-webkit-tests switches.
+ webkitpy_dir="$chrome_source/third_party/WebKit/Tools/Scripts/webkitpy"
+ targets=$(sed -ne 's/^[[:space:]]*"\(--[a-z-]\+\)",[[:space:]]*$/\1/p' \
+ "$webkitpy_dir/layout_tests/run_webkit_tests.py")
+ COMPREPLY=($(compgen -W "$targets" -- "$cur"))
+ return 0
+}
+
complete -F _chrome_flag google-chrome
complete -F _chrome_flag chrome
if [ $(uname) = "Darwin" ]
@@ -42,3 +84,5 @@ for gtest_test_executable in $(
); do
complete -F _gtest_flag $gtest_test_executable
done
+
+complete -F _layout_test_flag run-webkit-tests
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698