Skip to content

Commit

Permalink
Reorganize conformance tests (#1079)
Browse files Browse the repository at this point in the history
  • Loading branch information
smaye81 committed May 16, 2024
1 parent 9a16b1e commit e580470
Show file tree
Hide file tree
Showing 63 changed files with 3,755 additions and 1,451 deletions.
2 changes: 1 addition & 1 deletion .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ module.exports = {
.filter((dir) => existsSync(join(dir, "tsconfig.json")))
.map((dir) => {
return {
files: [join(dir, "src/**/*.ts")],
files: [join(dir, "src/**/*.ts"), join(dir, "conformance/**/*.ts")],
parser: "@typescript-eslint/parser",
parserOptions: {
project: "./tsconfig.json",
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cloudflare.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ jobs:
path: |
~/.tmp
.tmp
key: ${{ runner.os }}-connect-web-ci-${{ hashFiles('Makefile') }}
key: ${{ runner.os }}-connect-conformance-ci-${{ hashFiles('Makefile') }}
restore-keys: |
${{ runner.os }}-connect-web-ci-
${{ runner.os }}-connect-conformance-ci-
- name: build
run: make .tmp/build/connect-conformance
- name: test
Expand Down
31 changes: 13 additions & 18 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -211,36 +211,31 @@ testnode: $(BIN)/node16 $(BIN)/node18 $(BIN)/node20 $(BIN)/node21 $(BUILD)/conne
testconformance: testnodeconformance testwebconformance

.PHONY: testnodeconformance
testnodeconformance: $(BIN)/node16 $(BIN)/node18 $(BIN)/node20 $(BIN)/node21 $(BUILD)/connect-conformance
# Server
cd packages/connect-conformance && PATH="$(abspath $(BIN)):$(PATH)" node16 ./bin/connectconformance --mode server --conf conformance-node.yaml -v ./bin/conformancenodeserver
cd packages/connect-conformance && PATH="$(abspath $(BIN)):$(PATH)" node18 ./bin/connectconformance --mode server --conf conformance-node.yaml -v ./bin/conformancenodeserver
cd packages/connect-conformance && PATH="$(abspath $(BIN)):$(PATH)" node20 ./bin/connectconformance --mode server --conf conformance-node.yaml -v ./bin/conformancenodeserver
cd packages/connect-conformance && PATH="$(abspath $(BIN)):$(PATH)" node21 ./bin/connectconformance --mode server --conf conformance-node.yaml -v ./bin/conformancenodeserver
# Client
cd packages/connect-conformance && PATH="$(abspath $(BIN)):$(PATH)" node16 ./bin/connectconformance --mode client --conf conformance-node.yaml -v ./bin/conformancenodeclient
cd packages/connect-conformance && PATH="$(abspath $(BIN)):$(PATH)" node18 ./bin/connectconformance --mode client --conf conformance-node.yaml -v ./bin/conformancenodeclient
cd packages/connect-conformance && PATH="$(abspath $(BIN)):$(PATH)" node20 ./bin/connectconformance --mode client --conf conformance-node.yaml -v ./bin/conformancenodeclient
cd packages/connect-conformance && PATH="$(abspath $(BIN)):$(PATH)" node21 ./bin/connectconformance --mode client --conf conformance-node.yaml -v ./bin/conformancenodeclient
testnodeconformance: $(BUILD)/connect-conformance $(BUILD)/connect-node $(BUILD)/connect-fastify $(BUILD)/connect-express
# Vanilla Node Server and Client
npm run -w packages/connect-node conformance
# Express Server
npm run -w packages/connect-express conformance
# Fastify Server
npm run -w packages/connect-fastify conformance

.PHONY: testwebconformance
testwebconformance: $(BUILD)/connect-conformance
npm run -w packages/connect-conformance test:web:chrome
npm run -w packages/connect-conformance test:web:firefox
npm run -w packages/connect-conformance test:web:node
npm run -w packages/connect-web conformance:client:chrome
npm run -w packages/connect-web conformance:client:firefox
npm run -w packages/connect-web conformance:client:node
@# Requires one to enable the 'Allow Remote Automation' option in Safari's Develop menu.
ifeq ($(NODE_OS),darwin)
npm run -w packages/connect-conformance test:web:safari
npm run -w packages/connect-web conformance:client:safari
endif

.PHONY: testwebconformancelocal
testwebconformancelocal: $(BUILD)/connect-conformance
npm run -w packages/connect-conformance test:web -- --browser $(CONFORMANCE_BROWSER)
npm run -w packages/connect-web conformance:client:browser -- --browser $(CONFORMANCE_BROWSER)

.PHONY: testcloudflareconformance
testcloudflareconformance: $(BUILD)/connect-conformance
npm run -w packages/connect-conformance test:cloudflare:server
npm run -w packages/connect-conformance test:cloudflare:client
npm run -w packages/connect-cloudflare conformance

.PHONY: testwebnode
testwebnode: $(BIN)/node18 $(BIN)/node20 $(BIN)/node21 $(BUILD)/connect-web-test
Expand Down

0 comments on commit e580470

Please sign in to comment.