mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
Pin browser tests to Chrome 127 (#1187)
This commit is contained in:
parent
994c8d3faa
commit
437aaac6d2
3
.github/workflows/docker_latest.yml
vendored
3
.github/workflows/docker_latest.yml
vendored
@ -123,6 +123,9 @@ jobs:
|
|||||||
if: ${{ !inputs.disable_tests }}
|
if: ${{ !inputs.disable_tests }}
|
||||||
run: yarn run build:prod
|
run: yarn run build:prod
|
||||||
|
|
||||||
|
- name: Install Google Chrome for Testing
|
||||||
|
run: ./test/test_env.sh node_modules/selenium-webdriver/bin/linux/selenium-manager
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
if: ${{ !inputs.disable_tests }}
|
if: ${{ !inputs.disable_tests }}
|
||||||
run: TEST_IMAGE=${{ env.DOCKER_HUB_OWNER }}/${{ matrix.image.name }}:${{ env.TAG }} VERBOSE=1 DEBUG=1 MOCHA_WEBDRIVER_HEADLESS=1 yarn run test:docker
|
run: TEST_IMAGE=${{ env.DOCKER_HUB_OWNER }}/${{ matrix.image.name }}:${{ env.TAG }} VERBOSE=1 DEBUG=1 MOCHA_WEBDRIVER_HEADLESS=1 yarn run test:docker
|
||||||
|
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
@ -69,9 +69,9 @@ jobs:
|
|||||||
- name: Build Node.js code
|
- name: Build Node.js code
|
||||||
run: yarn run build:prod
|
run: yarn run build:prod
|
||||||
|
|
||||||
- name: Install chromedriver
|
- name: Install Google Chrome for Testing
|
||||||
if: contains(matrix.tests, ':nbrowser-') || contains(matrix.tests, ':smoke:') || contains(matrix.tests, ':stubs:')
|
if: contains(matrix.tests, ':nbrowser-') || contains(matrix.tests, ':smoke:') || contains(matrix.tests, ':stubs:')
|
||||||
run: ./node_modules/selenium-webdriver/bin/linux/selenium-manager --driver chromedriver
|
run: ./test/test_env.sh ./node_modules/selenium-webdriver/bin/linux/selenium-manager
|
||||||
|
|
||||||
- name: Run smoke test
|
- name: Run smoke test
|
||||||
if: contains(matrix.tests, ':smoke:')
|
if: contains(matrix.tests, ':smoke:')
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import {BehavioralPromptsManager} from 'app/client/components/BehavioralPromptsManager';
|
import {BehavioralPromptsManager} from 'app/client/components/BehavioralPromptsManager';
|
||||||
import {GristDoc} from 'app/client/components/GristDoc';
|
import {GristDoc} from 'app/client/components/GristDoc';
|
||||||
|
import {FocusLayer} from 'app/client/lib/FocusLayer';
|
||||||
import {makeT} from 'app/client/lib/localization';
|
import {makeT} from 'app/client/lib/localization';
|
||||||
import {reportError} from 'app/client/models/AppModel';
|
import {reportError} from 'app/client/models/AppModel';
|
||||||
import {ColumnRec, TableRec, ViewSectionRec} from 'app/client/models/DocModel';
|
import {ColumnRec, TableRec, ViewSectionRec} from 'app/client/models/DocModel';
|
||||||
@ -260,8 +261,7 @@ export function buildPageWidgetPicker(
|
|||||||
dom.create(PageWidgetSelect,
|
dom.create(PageWidgetSelect,
|
||||||
value, tables, columns, onSaveCB, behavioralPromptsManager, options),
|
value, tables, columns, onSaveCB, behavioralPromptsManager, options),
|
||||||
|
|
||||||
// gives focus and binds keydown events
|
elem => { FocusLayer.create(ctl, {defaultFocusElem: elem, pauseMousetrap: true}); },
|
||||||
(elem: any) => { setTimeout(() => elem.focus(), 0); },
|
|
||||||
onKeyDown({
|
onKeyDown({
|
||||||
Escape: () => ctl.close(),
|
Escape: () => ctl.close(),
|
||||||
Enter: () => isValid() && onSaveCB()
|
Enter: () => isValid() && onSaveCB()
|
||||||
|
14
package.json
14
package.json
@ -14,13 +14,13 @@
|
|||||||
"install:python3": "buildtools/prepare_python3.sh",
|
"install:python3": "buildtools/prepare_python3.sh",
|
||||||
"build:prod": "buildtools/build.sh",
|
"build:prod": "buildtools/build.sh",
|
||||||
"start:prod": "sandbox/run.sh",
|
"start:prod": "sandbox/run.sh",
|
||||||
"test": "GRIST_SESSION_COOKIE=grist_test_cookie GRIST_TEST_LOGIN=1 TEST_SUPPORT_API_KEY=api_key_for_support TEST_CLEAN_DATABASE=true LANGUAGE=en_US mocha ${DEBUG:+-b --no-exit} --slow 8000 $([ -z $DEBUG ] && echo --forbid-only) -g \"${GREP_TESTS}\" '_build/test/common/*.js' '_build/test/client/*.js' '_build/test/nbrowser/*.js' '_build/test/nbrowser_with_stubs/**/*.js' '_build/test/server/**/*.js' '_build/test/gen-server/**/*.js'",
|
"test": "GRIST_TEST_LOGIN=1 ./test/test_env.sh mocha ${DEBUG:+-b --no-exit} --slow 8000 $([ -z $DEBUG ] && echo --forbid-only) -g \"${GREP_TESTS}\" '_build/test/common/*.js' '_build/test/client/*.js' '_build/test/nbrowser/*.js' '_build/test/nbrowser_with_stubs/**/*.js' '_build/test/server/**/*.js' '_build/test/gen-server/**/*.js'",
|
||||||
"test:nbrowser": "TEST_SUITE=nbrowser TEST_SUITE_FOR_TIMINGS=nbrowser TIMINGS_FILE=test/timings/nbrowser.txt GRIST_SESSION_COOKIE=grist_test_cookie GRIST_TEST_LOGIN=1 TEST_SUPPORT_API_KEY=api_key_for_support TEST_CLEAN_DATABASE=true LANGUAGE=en_US mocha ${DEBUG:+-b --no-exit} $([ -z $DEBUG ] && echo --forbid-only) -g \"${GREP_TESTS}\" --slow 8000 -R test/xunit-file '_build/test/nbrowser/**/*.js'",
|
"test:nbrowser": "GRIST_TEST_LOGIN=1 TEST_SUITE=nbrowser TEST_SUITE_FOR_TIMINGS=nbrowser TIMINGS_FILE=test/timings/nbrowser.txt ./test/test_env.sh mocha ${DEBUG:+-b --no-exit} $([ -z $DEBUG ] && echo --forbid-only) -g \"${GREP_TESTS}\" --slow 8000 -R test/xunit-file '_build/test/nbrowser/**/*.js'",
|
||||||
"test:stubs": "GRIST_SESSION_COOKIE=grist_test_cookie GRIST_TEST_LOGIN=1 TEST_SUPPORT_API_KEY=api_key_for_support TEST_CLEAN_DATABASE=true LANGUAGE=en_US mocha ${DEBUG:+-b --no-exit} $([ -z $DEBUG ] && echo --forbid-only) -g \"${GREP_TESTS}\" --slow 8000 -R test/xunit-file '_build/test/nbrowser_with_stubs/**/*.js'",
|
"test:stubs": "GRIST_TEST_LOGIN=1 ./test/test_env.sh mocha ${DEBUG:+-b --no-exit} $([ -z $DEBUG ] && echo --forbid-only) -g \"${GREP_TESTS}\" --slow 8000 -R test/xunit-file '_build/test/nbrowser_with_stubs/**/*.js'",
|
||||||
"test:client": "GRIST_SESSION_COOKIE=grist_test_cookie mocha ${DEBUG:+'-b'} '_build/test/client/**/*.js'",
|
"test:client": "./test/test_env.sh mocha ${DEBUG:+'-b'} '_build/test/client/**/*.js'",
|
||||||
"test:common": "GRIST_SESSION_COOKIE=grist_test_cookie mocha ${DEBUG:+'-b'} '_build/test/common/**/*.js'",
|
"test:common": "./test/test_env.sh mocha ${DEBUG:+'-b'} '_build/test/common/**/*.js'",
|
||||||
"test:server": "TEST_CLEAN_DATABASE=true TEST_SUITE=server TEST_SUITE_FOR_TIMINGS=server TIMINGS_FILE=test/timings/server.txt GRIST_SESSION_COOKIE=grist_test_cookie mocha ${DEBUG:+'-b'} -g \"${GREP_TESTS}\" -R test/xunit-file '_build/test/server/**/*.js' '_build/test/gen-server/**/*.js'",
|
"test:server": "TEST_SUITE=server TEST_SUITE_FOR_TIMINGS=server TIMINGS_FILE=test/timings/server.txt ./test/test_env.sh mocha ${DEBUG:+'-b'} -g \"${GREP_TESTS}\" -R test/xunit-file '_build/test/server/**/*.js' '_build/test/gen-server/**/*.js'",
|
||||||
"test:smoke": "LANGUAGE=en_US mocha _build/test/nbrowser/Smoke.js",
|
"test:smoke": "./test/test_env.sh mocha _build/test/nbrowser/Smoke.js",
|
||||||
"test:docker": "./test/test_under_docker.sh",
|
"test:docker": "./test/test_under_docker.sh",
|
||||||
"test:python": "sandbox_venv3/bin/python sandbox/grist/runtests.py ${GREP_TESTS:+discover -p \"test*${GREP_TESTS}*.py\"}",
|
"test:python": "sandbox_venv3/bin/python sandbox/grist/runtests.py ${GREP_TESTS:+discover -p \"test*${GREP_TESTS}*.py\"}",
|
||||||
"cli": "NODE_PATH=_build:_build/stubs:_build/ext node _build/app/server/companion.js",
|
"cli": "NODE_PATH=_build:_build/stubs:_build/ext node _build/app/server/companion.js",
|
||||||
|
12
test/test_env.sh
Executable file
12
test/test_env.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
export GRIST_SESSION_COOKIE="grist_test_cookie"
|
||||||
|
export LANGUAGE="en_US"
|
||||||
|
export SE_BROWSER="chrome"
|
||||||
|
export SE_BROWSER_VERSION="127"
|
||||||
|
export SE_DRIVER="chrome-driver"
|
||||||
|
export SE_DRIVER_VERSION="127.0.6533.119"
|
||||||
|
export TEST_CLEAN_DATABASE="true"
|
||||||
|
export TEST_SUPPORT_API_KEY="api_key_for_support"
|
||||||
|
|
||||||
|
exec "$@"
|
@ -14,6 +14,8 @@ trap 'cleanup' EXIT
|
|||||||
trap 'echo "Exiting on SIGINT"; exit 1' INT
|
trap 'echo "Exiting on SIGINT"; exit 1' INT
|
||||||
trap 'echo "Exiting on SIGTERM"; exit 1' TERM
|
trap 'echo "Exiting on SIGTERM"; exit 1' TERM
|
||||||
|
|
||||||
|
source $(dirname $0)/test_env.sh
|
||||||
|
|
||||||
PORT=8585
|
PORT=8585
|
||||||
DOCKER_CONTAINER=grist-core-test
|
DOCKER_CONTAINER=grist-core-test
|
||||||
DOCKER_PID=""
|
DOCKER_PID=""
|
||||||
@ -65,8 +67,6 @@ fi
|
|||||||
|
|
||||||
TEST_ADD_SAMPLES=1 TEST_ACCOUNT_PASSWORD=not-needed \
|
TEST_ADD_SAMPLES=1 TEST_ACCOUNT_PASSWORD=not-needed \
|
||||||
HOME_URL=http://localhost:8585 \
|
HOME_URL=http://localhost:8585 \
|
||||||
GRIST_SESSION_COOKIE=grist_test_cookie \
|
|
||||||
GRIST_TEST_LOGIN=1 \
|
GRIST_TEST_LOGIN=1 \
|
||||||
NODE_PATH=_build:_build/stubs \
|
NODE_PATH=_build:_build/stubs \
|
||||||
LANGUAGE=en_US \
|
|
||||||
$MOCHA _build/test/deployment/*.js --slow 6000 -g "${GREP_TESTS:-}" "$@"
|
$MOCHA _build/test/deployment/*.js --slow 6000 -g "${GREP_TESTS:-}" "$@"
|
||||||
|
Loading…
Reference in New Issue
Block a user