da4de439e0
This uses the current dev build by default but can be overidden with CODE_SERVER_TEST_ENTRY (for example to test a release or some other version). Each instance has a separate state directory. This should make parallelization work. This also means you are no longer required to specify the password and address yourself (or the extension directory once we add a test extension). `yarn test:e2e` should just work as-is. Lastly, it means the tests are no longer subject to yarn watch randomly restarting.
38 lines
873 B
Bash
Executable File
38 lines
873 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
main() {
|
|
cd "$(dirname "$0")/../.."
|
|
source ./ci/lib.sh
|
|
|
|
local dir="$PWD"
|
|
if [[ ! ${CODE_SERVER_TEST_ENTRY-} ]]; then
|
|
echo "Set CODE_SERVER_TEST_ENTRY to test another build of code-server"
|
|
else
|
|
pushd "$CODE_SERVER_TEST_ENTRY"
|
|
dir="$PWD"
|
|
popd
|
|
fi
|
|
|
|
echo "Testing build in '$dir'"
|
|
|
|
# Simple sanity checks to see that we've built. There could still be things
|
|
# wrong (native modules version issues, incomplete build, etc).
|
|
if [[ ! -d $dir/out ]]; then
|
|
echo >&2 "No code-server build detected"
|
|
echo >&2 "You can build it with 'yarn build' or 'yarn watch'"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d $dir/lib/vscode/out ]]; then
|
|
echo >&2 "No VS Code build detected"
|
|
echo >&2 "You can build it with 'yarn build:vscode' or 'yarn watch'"
|
|
exit 1
|
|
fi
|
|
|
|
cd test
|
|
yarn playwright test "$@"
|
|
}
|
|
|
|
main "$@"
|