summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2020-03-02 17:15:38 +0100
committerTamás Zolnai <tamas.zolnai@collabora.com>2020-03-03 10:35:09 +0100
commit07799f62e7254b6f852ddfc08fa5922273b9f0aa (patch)
tree6da9c2b4b9353dcf15f7ef09f6c2cfd7301ae32f
parentparallel-cypress: restore original sequential build. (diff)
downloadonline-feature/parallel_cypress.tar.gz
online-feature/parallel_cypress.zip
parallel-cypress: improve console output of parallel test run. feature/parallel_cypress
Change-Id: I29440bafdba101c3f4e86de7d587330b972289de
-rw-r--r--cypress_test/Makefile.am37
1 files changed, 30 insertions, 7 deletions
diff --git a/cypress_test/Makefile.am b/cypress_test/Makefile.am
index 27845aeea1..13a769f086 100644
--- a/cypress_test/Makefile.am
+++ b/cypress_test/Makefile.am
@@ -8,6 +8,7 @@ GET_PORT_BINARY = $(abs_builddir)/node_modules/get-port-cli/cli.js
NPM_INSTALLED = $(abs_builddir)/workdir/npm_installed
PID_FILE=$(abs_builddir)/workdir/loolwsd.pid
+ERROR_LOG=$(abs_builddir)/workdir/error.log
DESKTOP_USER_AGENT = "cypress"
DESKTOP_TEST_FOLDER = $(abs_srcdir)/integration_tests/desktop
@@ -57,18 +58,23 @@ MOBILE_TEST_FILES_DONE= \
DESKTOP_TEST_FILES_DONE= \
$(foreach test_file,$(DEKSTOP_TEST_FILES),$(DESKTOP_TRACK_FOLDER)/$(test_file).done)
-check-local: $(DESKTOP_TEST_FILES_DONE) $(MOBILE_TEST_FILES_DONE)
+check-local: do-check
+ $(if $(wildcard $(ERROR_LOG)),$(error Cypress test failure!))
+
+do-check: $(DESKTOP_TEST_FILES_DONE) $(MOBILE_TEST_FILES_DONE)
@$(KILL_COMMAND) || true
$(if $(HEADLESS_BUILD),@pkill Xvfb,)
+ $(if $(wildcard $(ERROR_LOG)),@cat $(ERROR_LOG))
$(PID_FILE): @JAILS_PATH@ $(NODE_BINS)
+ @rm -f $(ERROR_LOG)
$(call run_JS_error_check)
$(if $(HEADLESS_BUILD),$(call start_Xvfb),)
$(call start_loolwsd)
$(MOBILE_TEST_FILES_DONE): $(PID_FILE)
$(if $(PARALLEL_BUILD),\
- $(call run_mobile_tests,$(subst $(MOBILE_TRACK_FOLDER)/,,$(basename $@))),\
+ $(call run_mobile_tests,$(subst $(MOBILE_TRACK_FOLDER)/,,$(basename $@)),$(basename $@).log),\
$(call run_mobile_tests))
$(if $(PARALLEL_BUILD),\
@mkdir -p $(dir $@) && touch $@\
@@ -78,7 +84,7 @@ $(MOBILE_TEST_FILES_DONE): $(PID_FILE)
$(DESKTOP_TEST_FILES_DONE): $(PID_FILE)
$(if $(PARALLEL_BUILD),\
- $(call run_desktop_tests,$(subst $(DESKTOP_TRACK_FOLDER)/,,$(basename $@))),\
+ $(call run_desktop_tests,$(subst $(DESKTOP_TRACK_FOLDER)/,,$(basename $@)),$(basename $@).log),\
$(call run_desktop_tests))
$(if $(PARALLEL_BUILD),\
@mkdir -p $(dir $@) && touch $@\
@@ -162,8 +168,12 @@ define run_desktop_tests
--headless \
--env DATA_FOLDER=$(DESKTOP_DATA_FOLDER),WORKDIR=$(DESKTOP_WORKDIR),WSD_VERSION_HASH=$(LOOLWSD_VERSION_HASH),SERVER_PORT=$(FREE_PORT) \
$(if $(1), --spec=$(abs_dir)/integration_tests/desktop/$(1)) \
- || ($(KILL_COMMAND) && false))
- $(if $(PARALLEL_BUILD),@echo "`echo $(RUN_COMMAND) && $(RUN_COMMAND)`",$(RUN_COMMAND))
+ $(if $(PARALLEL_BUILD),,|| ($(KILL_COMMAND) && false)))
+ $(if $(PARALLEL_BUILD),\
+ $(call execute_run_parallel,$(RUN_COMMAND),$(2))\
+ ,\
+ $(RUN_COMMAND)\
+ )
endef
define run_mobile_tests
@@ -175,8 +185,21 @@ define run_mobile_tests
--headless \
--env DATA_FOLDER=$(MOBILE_DATA_FOLDER),WORKDIR=$(MOBILE_WORKDIR),WSD_VERSION_HASH=$(LOOLWSD_VERSION_HASH),SERVER_PORT=$(FREE_PORT) \
$(if $(1), --spec=$(abs_dir)/integration_tests/mobile/$(1)) \
- || ($(KILL_COMMAND) && false))
- $(if $(PARALLEL_BUILD),@echo "`echo $(RUN_COMMAND) && $(RUN_COMMAND)`",$(RUN_COMMAND))
+ $(if $(PARALLEL_BUILD),,|| ($(KILL_COMMAND) && false)))
+ $(if $(PARALLEL_BUILD),\
+ $(call execute_run_parallel,$(RUN_COMMAND),$(2))\
+ ,\
+ $(RUN_COMMAND)\
+ )
+endef
+
+define execute_run_parallel
+ @mkdir -p $(dir $(2)) && touch $(2) && \
+ echo "`echo $(1) && $(1)`" > $(2) 2>&1 && \
+ if [ `grep -o "CypressError" $(2)` ];\
+ then cat $(2) >> $(ERROR_LOG);\
+ else cat $(2);\
+ fi;
endef
NODE_BINS = \