Change the command to invoke parallel tests (#4922)

Summary:
We used to call `printf $(t_run)` and later feed the result to GNU parallel in the recipe of target `check_0`. However, this approach is problematic when the length of $(t_run) exceeds the
maximum length of a command and the `printf` command cannot be executed. Instead we use 'find -print' to avoid generating an overly long command.

**This PR is actually the last commit of #4916. Prefer to merge this PR separately.**
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4922

Differential Revision: D13845883

Pulled By: riversand963

fbshipit-source-id: b56de7f7af43337c6ec89b931de843c9667cb679
main
Yanqin Jin 6 years ago committed by Facebook Github Bot
parent 4978caaa6f
commit 95604d13e9
  1. 5
      Makefile

@ -817,7 +817,6 @@ J ?= 100%
# Use this regexp to select the subset of tests whose names match. # Use this regexp to select the subset of tests whose names match.
tests-regexp = . tests-regexp = .
t_run = $(wildcard t/run-*)
.PHONY: check_0 .PHONY: check_0
check_0: check_0:
$(AM_V_GEN)export TEST_TMPDIR=$(TMPD); \ $(AM_V_GEN)export TEST_TMPDIR=$(TMPD); \
@ -827,7 +826,7 @@ check_0:
test -t 1 && eta=--eta || eta=; \ test -t 1 && eta=--eta || eta=; \
{ \ { \
printf './%s\n' $(filter-out $(PARALLEL_TEST),$(TESTS)); \ printf './%s\n' $(filter-out $(PARALLEL_TEST),$(TESTS)); \
printf '%s\n' $(t_run); \ find t -name 'run-*' -print; \
} \ } \
| $(prioritize_long_running_tests) \ | $(prioritize_long_running_tests) \
| grep -E '$(tests-regexp)' \ | grep -E '$(tests-regexp)' \
@ -844,7 +843,7 @@ valgrind_check_0:
test -t 1 && eta=--eta || eta=; \ test -t 1 && eta=--eta || eta=; \
{ \ { \
printf './%s\n' $(filter-out $(PARALLEL_TEST) %skiplist_test options_settable_test, $(TESTS)); \ printf './%s\n' $(filter-out $(PARALLEL_TEST) %skiplist_test options_settable_test, $(TESTS)); \
printf '%s\n' $(t_run); \ find t -name 'run-*' -print; \
} \ } \
| $(prioritize_long_running_tests) \ | $(prioritize_long_running_tests) \
| grep -E '$(tests-regexp)' \ | grep -E '$(tests-regexp)' \

Loading…
Cancel
Save