summaryrefslogtreecommitdiff
path: root/tool/ci_functions.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tool/ci_functions.sh')
-rw-r--r--tool/ci_functions.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/tool/ci_functions.sh b/tool/ci_functions.sh
new file mode 100644
index 0000000000..f0e888e3df
--- /dev/null
+++ b/tool/ci_functions.sh
@@ -0,0 +1,29 @@
+# -*- BASH -*-
+# Manage functions used on a CI.
+# Run `. tool/ci_functions.sh` to use it.
+
+# Create options with patterns `-n !/name1/ -n !/name2/ ..` to exclude the test
+# method names by the method names `name1 name2 ..`.
+# See `ruby tool/test/runner.rb --help` `-n` option.
+function ci_to_excluded_test_opts {
+ local tests_str="${1}"
+ # Use the backward matching `!/name$/`, as the perfect matching does not work.
+ # https://bugs.ruby-lang.org/issues/16936
+ ruby <<EOF
+ opts = "${tests_str}".split.map { |test| "-n \!/#{test}\$$/" }
+ puts opts.join(' ')
+EOF
+ return 0
+}
+
+# Create options with patterns `-n /name1/ -n /name2/ ..` to exclude the test
+# method names by the method names `name1 name2 ..`.
+# See `ruby tool/test/runner.rb --help` `-n` option.
+function ci_to_included_test_opts {
+ local tests_str="${1}"
+ ruby <<EOF
+ opts = "${tests_str}".split.map { |test| "-n #{test}" }
+ puts opts.join(' ')
+EOF
+ return 0
+}