cypress_test/Makefile.am | 21 ++++++++++++++------- cypress_test/integration_tests/common/helper.js | 12 +++++++++--- cypress_test/package.json | 1 + 3 files changed, 24 insertions(+), 10 deletions(-)
New commits: commit eb53dd5a8cec05cdf48941a5248b55f3b27d372c Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Thu Feb 20 02:25:01 2020 +0100 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Thu Feb 20 04:49:38 2020 +0100 cypress: Always search for an available port number. Change-Id: Ibfb80d43cd7f7d4c8cab8e3621bebfc2201d4b2d Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89066 Tested-by: Tamás Zolnai <tamas.zol...@collabora.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/Makefile.am b/cypress_test/Makefile.am index 58fa873f4..d77710989 100644 --- a/cypress_test/Makefile.am +++ b/cypress_test/Makefile.am @@ -13,6 +13,10 @@ MOBILE_TEST_FOLDER = ${abs_srcdir}/integration_tests/mobile MOBILE_DATA_FOLDER = ${abs_srcdir}/data/mobile/ MOBILE_WORKDIR = ${abs_builddir}/workdir/mobile/ +ALLOWED_PORTS = 9980 9979 9978 9977 9976 9975 9974 9973 9972 9971 9970 + +FREE_PORT=$(shell node_modules/get-port-cli/cli.js --host=127.0.0.1 $(ALLOWED_PORTS)) + if HAVE_LO_PATH check-local: @JAILS_PATH@ node_modules $(call run_JS_error_check) @@ -39,7 +43,7 @@ run-desktop: @JAILS_PATH@ node_modules @echo "Open cypress with desktop tests..." @echo $(CYPRESS_BINARY) open --config integrationFolder=$(DESKTOP_TEST_FOLDER),userAgent=$(DESKTOP_USER_AGENT) \ - --env DATA_FOLDER=$(DESKTOP_DATA_FOLDER),WORKDIR=$(DESKTOP_WORKDIR),WSD_VERSION_HASH=$(LOOLWSD_VERSION_HASH) \ + --env DATA_FOLDER=$(DESKTOP_DATA_FOLDER),WORKDIR=$(DESKTOP_WORKDIR),WSD_VERSION_HASH=$(LOOLWSD_VERSION_HASH),SERVER_PORT=$(FREE_PORT) \ || true @pkill loolwsd || true @@ -49,7 +53,7 @@ run-mobile: @JAILS_PATH@ node_modules @echo "Open cypress with mobile tests..." @echo $(CYPRESS_BINARY) open --config integrationFolder=$(MOBILE_TEST_FOLDER),userAgent=$(MOBILE_USER_AGENT) \ - --env DATA_FOLDER=$(MOBILE_DATA_FOLDER),WORKDIR=$(MOBILE_WORKDIR),WSD_VERSION_HASH=$(LOOLWSD_VERSION_HASH) \ + --env DATA_FOLDER=$(MOBILE_DATA_FOLDER),WORKDIR=$(MOBILE_WORKDIR),WSD_VERSION_HASH=$(LOOLWSD_VERSION_HASH),SERVER_PORT=$(FREE_PORT) \ || true @pkill loolwsd || true @@ -63,15 +67,18 @@ endef define start_loolwsd @pkill loolwsd || true - @echo "Launching loolwsd for testing..." + @echo "Found available port for testing: $(FREE_PORT)" + @echo + @echo "Launching loolwsd..." @fc-cache "@LO_PATH@"/share/fonts/truetype @echo ../loolwsd --o:sys_template_path="@SYSTEMPLATE_PATH@" \ --o:child_root_path="@JAILS_PATH@" --o:storage.filesystem[@allow]=true \ --disable-ssl \ --o:admin_console.username=admin --o:admin_console.password=admin \ - --o:logging.file[@enable]=true --o:logging.level=trace > /dev/null 2>&1 & - @node_modules/wait-on/bin/wait-on http://localhost:9980 + --o:logging.file[@enable]=true --o:logging.level=trace > /dev/null 2>&1 \ + --port=$(FREE_PORT) & + @node_modules/wait-on/bin/wait-on http://localhost:$(FREE_PORT) @echo endef @@ -82,7 +89,7 @@ define run_desktop_tests $(CYPRESS_BINARY) run --browser $(CHROME) \ --config integrationFolder=$(DESKTOP_TEST_FOLDER),userAgent=$(DESKTOP_USER_AGENT) \ --headless \ - --env DATA_FOLDER=$(DESKTOP_DATA_FOLDER),WORKDIR=$(DESKTOP_WORKDIR),WSD_VERSION_HASH=$(LOOLWSD_VERSION_HASH) \ + --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)) \ || (pkill loolwsd && false) endef @@ -94,7 +101,7 @@ define run_mobile_tests $(CYPRESS_BINARY) run --browser $(CHROME) \ --config integrationFolder=$(MOBILE_TEST_FOLDER),userAgent=$(MOBILE_USER_AGENT) \ --headless \ - --env DATA_FOLDER=$(MOBILE_DATA_FOLDER),WORKDIR=$(MOBILE_WORKDIR),WSD_VERSION_HASH=$(LOOLWSD_VERSION_HASH) \ + --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)) \ || (pkill loolwsd && false) endef diff --git a/cypress_test/integration_tests/common/helper.js b/cypress_test/integration_tests/common/helper.js index 388423ac2..6c7147097 100644 --- a/cypress_test/integration_tests/common/helper.js +++ b/cypress_test/integration_tests/common/helper.js @@ -23,12 +23,16 @@ function loadTestDoc(fileName, subFolder, mobile) { // Open test document var URI; if (subFolder === undefined) { - URI = 'http://localhost:9980/loleaflet/' + + URI = 'http://localhost:'+ + Cypress.env('SERVER_PORT') + + '/loleaflet/' + Cypress.env('WSD_VERSION_HASH') + '/loleaflet.html?lang=en-US&file_path=file://' + Cypress.env('WORKDIR') + fileName; } else { - URI = 'http://localhost:9980/loleaflet/' + + URI = 'http://localhost:'+ + Cypress.env('SERVER_PORT') + + '/loleaflet/' + Cypress.env('WSD_VERSION_HASH') + '/loleaflet.html?lang=en-US&file_path=file://' + Cypress.env('WORKDIR') + subFolder + '/' + fileName; @@ -147,7 +151,9 @@ function beforeAllMobile(fileName, subFolder) { function afterAll() { // Make sure that the document is closed - cy.visit('http://admin:admin@localhost:9980/loleaflet/dist/admin/admin.html'); + cy.visit('http://admin:admin@localhost:' + + Cypress.env('SERVER_PORT') + + '/loleaflet/dist/admin/admin.html'); cy.get('#doclist') .should('exist'); cy.get('#doclist tr') diff --git a/cypress_test/package.json b/cypress_test/package.json index 0d80d1173..07e378814 100644 --- a/cypress_test/package.json +++ b/cypress_test/package.json @@ -6,6 +6,7 @@ "dependencies": { "cypress": "3.8.3", "eslint": "6.8.0", + "get-port-cli": "2.0.0", "wait-on": "4.0.0" }, "repository": { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits