cypress_test/Makefile.am |   29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

New commits:
commit 3f0afa9cfa33da007a5ead08af2f9faafd543bca
Author:     Tamás Zolnai <tamas.zol...@collabora.com>
AuthorDate: Fri Feb 21 18:27:15 2020 +0100
Commit:     Tamás Zolnai <tamas.zol...@collabora.com>
CommitDate: Fri Feb 21 19:47:22 2020 +0100

    cypress: better handling of npm package dependencies
    
    For incremental builds, it's not enough to check the node_modules
    folder, we also need to check whether all used binaries are in
    place.
    
    Change-Id: I9c5f380f3845195bfa2dbfb03ab269ce4659c4ae
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89233
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com>

diff --git a/cypress_test/Makefile.am b/cypress_test/Makefile.am
index 1d0910dca..60f6df644 100644
--- a/cypress_test/Makefile.am
+++ b/cypress_test/Makefile.am
@@ -2,6 +2,10 @@ if ENABLE_CYPRESS
 
 abs_dir = $(if $(filter $(abs_builddir),$(abs_srcdir)),.,$(abs_srcdir))
 CYPRESS_BINARY = ${abs_builddir}/node_modules/cypress/bin/cypress
+ESLINT_BINARY = ${abs_builddir}/node_modules/eslint/bin/eslint.js
+WAIT_ON_BINARY = ${abs_builddir}/node_modules/wait-on/bin/wait-on
+GET_PORT_BINARY = ${abs_builddir}/node_modules/get-port-cli/cli.js
+
 PID_FILE=$(abs_builddir)/loolwsd.pid
 
 DESKTOP_USER_AGENT = "cypress"
@@ -15,31 +19,31 @@ MOBILE_DATA_FOLDER = ${abs_srcdir}/data/mobile/
 MOBILE_WORKDIR = ${abs_builddir}/workdir/mobile/
 
 ALLOWED_PORTS = $(shell seq 9900 1 9980)
-FREE_PORT=$(shell node_modules/get-port-cli/cli.js --host=127.0.0.1 
$(ALLOWED_PORTS))
+FREE_PORT=$(shell $(GET_PORT_BINARY) --host=127.0.0.1 $(ALLOWED_PORTS))
 
 KILL_COMMAND=pkill -F $(PID_FILE) || pkill --signal SIGKILL -F $(PID_FILE)
 
 if HAVE_LO_PATH
-check-local: @JAILS_PATH@ node_modules
+check-local: @JAILS_PATH@ $(NODE_BINS)
        $(call run_JS_error_check)
        $(call start_loolwsd)
        $(call run_desktop_tests)
        $(call run_mobile_tests)
        @$(KILL_COMMAND) || true
 
-check-desktop: @JAILS_PATH@ node_modules
+check-desktop: @JAILS_PATH@ $(NODE_BINS)
        $(call run_JS_error_check)
        $(call start_loolwsd)
        $(call run_desktop_tests,$(spec))
        @$(KILL_COMMAND) || true
 
-check-mobile: @JAILS_PATH@ node_modules
+check-mobile: @JAILS_PATH@ $(NODE_BINS)
        $(call run_JS_error_check)
        $(call start_loolwsd)
        $(call run_mobile_tests,$(spec))
        @$(KILL_COMMAND) || true
 
-run-desktop: @JAILS_PATH@ node_modules
+run-desktop: @JAILS_PATH@ $(NODE_BINS)
        $(call start_loolwsd)
        @echo
        @echo "Open cypress with desktop tests..."
@@ -49,7 +53,7 @@ run-desktop: @JAILS_PATH@ node_modules
                        || true
        @$(KILL_COMMAND) || true
 
-run-mobile: @JAILS_PATH@ node_modules
+run-mobile: @JAILS_PATH@ $(NODE_BINS)
        $(call start_loolwsd)
        @echo
        @echo "Open cypress with mobile tests..."
@@ -62,7 +66,7 @@ run-mobile: @JAILS_PATH@ node_modules
 define run_JS_error_check
        @echo "Checking for JS errors in test code..."
        @echo
-       @NODE_PATH=${abs_dir}/node_modules $(NODE) 
node_modules/eslint/bin/eslint.js $(abs_srcdir) \
+       @NODE_PATH=${abs_dir}/node_modules $(NODE) $(ESLINT_BINARY) 
$(abs_srcdir) \
                --ignore-path $(abs_srcdir)/.eslintignore --config 
$(abs_top_srcdir)/loleaflet/.eslintrc
        @echo
 endef
@@ -80,7 +84,7 @@ define start_loolwsd
                        --o:logging.file[@enable]=true --o:logging.level=trace 
> /dev/null 2>&1 \
                        --port=$(FREE_PORT) \
                        --pidfile=$(PID_FILE) &
-       @node_modules/wait-on/bin/wait-on http://localhost:$(FREE_PORT) 
--timeout 60000
+       @$(WAIT_ON_BINARY) http://localhost:$(FREE_PORT) --timeout 60000
        @echo
 endef
 
@@ -108,9 +112,14 @@ define run_mobile_tests
                        || ($(KILL_COMMAND) && false)
 endef
 
-node_modules:
+NODE_BINS = \
+       $(CYPRESS_BINARY) \
+       $(ESLINT_BINARY) \
+       $(WAIT_ON_BINARY) \
+       $(GET_PORT_BINARY)
+
+$(NODE_BINS):
        @npm install
-       @touch node_modules
 
 endif
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to