playwright/installation-tests/test_playwright_test_should_work.sh
Andrey Lushnikov 2c59985bcd
chore: refactor installation tests (#12054)
This patch refactors installation tests. With this
refactoring:

- each test is a separate file
- to run a single test, just run the bash file
  * tests support optional `--no-build` flag to re-use previously
    built packages.
  * tests support optional `--debug` flag to see line-by-line test output
  * failed tests print a line that can be copied-and-pasted locally
    to debug the test
- run all tests with `//installation-tests/run_all_tests.sh`
  * test output is hidden for successful runs when run locally and is
    shown when test fails
  * runs all tests, and reports failed tests in the end
  * command output is split into groups when viewed on Github.
2022-02-11 17:06:37 -08:00

30 lines
819 B
Bash

#!/bin/bash
source ./initialize_test.sh && initialize_test "$@"
npm install ${PLAYWRIGHT_CORE_TGZ}
npm install ${PLAYWRIGHT_TEST_TGZ}
copy_test_scripts
echo "Running playwright test without install"
if npx playwright test -c .; then
echo "ERROR: should not be able to run tests without installing browsers"
exit 1
fi
echo "Running playwright install"
PLAYWRIGHT_BROWSERS_PATH="0" npx playwright install
echo "Running playwright test"
PLAYWRIGHT_JSON_OUTPUT_NAME=report.json PLAYWRIGHT_BROWSERS_PATH="0" npx playwright test -c . --browser=all --reporter=list,json sample.spec.js
echo "Checking the report"
node ./read-json-report.js ./report.json
echo "Running sanity.js"
node sanity.js "@playwright/test"
if [[ "${NODE_VERSION}" == *"v14."* ]]; then
echo "Running esm.js"
node esm-playwright-test.mjs
fi