From c7be81b3913a2840ee92bf2fe9e52181a6e736c0 Mon Sep 17 00:00:00 2001 From: Erik Marks Date: Fri, 6 Dec 2024 10:17:47 -0800 Subject: [PATCH 1/4] test(extension): Refactor e2e test script --- packages/extension/package.json | 5 ++--- packages/extension/scripts/test-e2e.sh | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) create mode 100755 packages/extension/scripts/test-e2e.sh diff --git a/packages/extension/package.json b/packages/extension/package.json index c1f39b7e1..ae88e66a3 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -36,10 +36,9 @@ "test:dev": "yarn test --coverage false", "test:verbose": "yarn test --reporter verbose", "test:watch": "vitest --config vitest.config.ts", - "test:e2e": "yarn start:server & playwright test", + "test:e2e": "./scripts/test-e2e.sh", "test:e2e:ui": "playwright test --ui", - "test:e2e:debug": "playwright test --debug", - "start:server": "yarn ocap serve ./src/vats -p 3000 -h 10000" + "test:e2e:debug": "playwright test --debug" }, "dependencies": { "@endo/eventual-send": "^1.2.6", diff --git a/packages/extension/scripts/test-e2e.sh b/packages/extension/scripts/test-e2e.sh new file mode 100755 index 000000000..9ec18b879 --- /dev/null +++ b/packages/extension/scripts/test-e2e.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +set -x +set -e +set -o pipefail + +# Start the server in background and capture its PID +yarn ocap serve ./src/vats & +SERVER_PID=$! + +function cleanup() { + # Kill the server if it's still running + if kill -0 $SERVER_PID 2>/dev/null; then + kill $SERVER_PID + fi +} +# Ensures we close the server if tests fail +trap cleanup EXIT + +# Run tests +yarn playwright test + +cleanup +exit "$(wait $SERVER_PID)" From cbbba5ab1b73af501d0d06e356da610f51bc2085 Mon Sep 17 00:00:00 2001 From: Erik Marks Date: Fri, 6 Dec 2024 10:28:09 -0800 Subject: [PATCH 2/4] test(extension): Fix test script --- .github/workflows/lint-build-test.yml | 3 +-- packages/extension/package.json | 3 ++- packages/extension/scripts/test-e2e.sh | 9 ++++++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 475e171d5..e9d6c0563 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -174,8 +174,7 @@ jobs: cache: yarn - run: yarn --immutable - run: yarn build - - run: yarn ocap bundle ./packages/extension/src/vats/sample-vat.js - - run: yarn test:e2e + - run: yarn test:e2e:ci - name: Require clean working directory shell: bash run: | diff --git a/packages/extension/package.json b/packages/extension/package.json index ae88e66a3..2083fad0a 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -36,7 +36,8 @@ "test:dev": "yarn test --coverage false", "test:verbose": "yarn test --reporter verbose", "test:watch": "vitest --config vitest.config.ts", - "test:e2e": "./scripts/test-e2e.sh", + "test:e2e": "yarn playwright test", + "test:e2e:ci": "./scripts/test-e2e.sh", "test:e2e:ui": "playwright test --ui", "test:e2e:debug": "playwright test --debug" }, diff --git a/packages/extension/scripts/test-e2e.sh b/packages/extension/scripts/test-e2e.sh index 9ec18b879..9ca94f38d 100755 --- a/packages/extension/scripts/test-e2e.sh +++ b/packages/extension/scripts/test-e2e.sh @@ -4,8 +4,10 @@ set -x set -e set -o pipefail +yarn ocap bundle "./src/vats" + # Start the server in background and capture its PID -yarn ocap serve ./src/vats & +yarn ocap serve "./src/vats" & SERVER_PID=$! function cleanup() { @@ -18,7 +20,8 @@ function cleanup() { trap cleanup EXIT # Run tests -yarn playwright test +yarn test:e2e cleanup -exit "$(wait $SERVER_PID)" +wait $SERVER_PID +exit $? From baab94c55ae34069763dd52931e9b2dc5516f49c Mon Sep 17 00:00:00 2001 From: Erik Marks Date: Fri, 6 Dec 2024 10:32:00 -0800 Subject: [PATCH 3/4] test(extension): Ignore server exit code in e2e tests --- packages/extension/scripts/test-e2e.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/extension/scripts/test-e2e.sh b/packages/extension/scripts/test-e2e.sh index 9ca94f38d..a7d3222f1 100755 --- a/packages/extension/scripts/test-e2e.sh +++ b/packages/extension/scripts/test-e2e.sh @@ -16,12 +16,7 @@ function cleanup() { kill $SERVER_PID fi } -# Ensures we close the server if tests fail +# Ensure we always close the server trap cleanup EXIT -# Run tests yarn test:e2e - -cleanup -wait $SERVER_PID -exit $? From a1776940b17588fd4a1467e9f1c598d383569e9f Mon Sep 17 00:00:00 2001 From: Erik Marks Date: Fri, 6 Dec 2024 10:32:26 -0800 Subject: [PATCH 4/4] test(extension): Rename e2e script file --- packages/extension/package.json | 2 +- packages/extension/scripts/{test-e2e.sh => test-e2e-ci.sh} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename packages/extension/scripts/{test-e2e.sh => test-e2e-ci.sh} (100%) diff --git a/packages/extension/package.json b/packages/extension/package.json index 2083fad0a..ea1be7226 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -37,7 +37,7 @@ "test:verbose": "yarn test --reporter verbose", "test:watch": "vitest --config vitest.config.ts", "test:e2e": "yarn playwright test", - "test:e2e:ci": "./scripts/test-e2e.sh", + "test:e2e:ci": "./scripts/test-e2e-ci.sh", "test:e2e:ui": "playwright test --ui", "test:e2e:debug": "playwright test --debug" }, diff --git a/packages/extension/scripts/test-e2e.sh b/packages/extension/scripts/test-e2e-ci.sh similarity index 100% rename from packages/extension/scripts/test-e2e.sh rename to packages/extension/scripts/test-e2e-ci.sh