Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
153 changes: 119 additions & 34 deletions source/unified-test-format/tests/Makefile
Original file line number Diff line number Diff line change
@@ -1,48 +1,108 @@
SCHEMA=../schema-1.23.json

.PHONY: all invalid valid-fail valid-pass atlas-data-lake versioned-api load-balancers gridfs transactions transactions-convenient-api crud collection-management read-write-concern retryable-reads retryable-writes sessions command-logging-and-monitoring client-side-operations-timeout HAS_AJV

all: invalid valid-fail valid-pass atlas-data-lake versioned-api load-balancers gridfs transactions transactions-convenient-api change-streams crud collection-management read-write-concern retryable-reads retryable-writes sessions command-logging-and-monitoring client-side-operations-timeout client-side-encryption
.PHONY: all \
atlas-data-lake \
auth \
change-streams \
client-side-encryption \
client-side-operations-timeout \
collection-management \
command-logging-and-monitoring \
command-logging-and-monitoring/logging \
command-logging-and-monitoring/monitoring \
connection-monitoring-and-pooling \
connection-monitoring-and-pooling/logging \
crud \
gridfs \
index-management \
load-balancers \
read-write-concern \
retryable-reads \
retryable-writes \
run-command \
server-discovery-and-monitoring \
server-selection \
server-selection/logging \
sessions \
transactions-convenient-api \
transactions \
unified-test-format \
unified-test-format/invalid \
unified-test-format/valid-fail \
unified-test-format/valid-pass \
versioned-api \
HAS_AJV

all: atlas-data-lake \
auth \
change-streams \
client-side-encryption \
client-side-operations-timeout \
collection-management \
command-logging-and-monitoring \
connection-monitoring-and-pooling \
crud \
gridfs \
index-management \
load-balancers \
read-write-concern \
retryable-reads \
retryable-writes \
run-command \
server-discovery-and-monitoring \
server-selection \
sessions \
transactions-convenient-api \
transactions \
unified-test-format \
versioned-api

# Keep specifications sorted alphabetically
# When adding a new specification, remember to add it to the all and .PHONY targets above
# For specifications that contain multiple test folders, create a target for each folder
# in addition to a target for the specification itself
atlas-data-lake: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../atlas-data-lake-testing/tests/unified/*.yml" --valid

invalid: HAS_AJV
@# Redirect stdout to hide expected validation errors
@ajv test -s $(SCHEMA) -d "invalid/*.yml" --invalid > /dev/null && echo "invalid/*.yml passed test"
auth: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../auth/tests/unified/*.yml" --valid

valid-fail: HAS_AJV
@ajv test -s $(SCHEMA) -d "valid-fail/*.yml" --valid
change-streams: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../change-streams/tests/unified/*.yml" --valid

valid-pass: HAS_AJV
@ajv test -s $(SCHEMA) -d "valid-pass/*.yml" --valid
client-side-encryption: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../client-side-encryption/tests/unified/*.yml" --valid

atlas-data-lake: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../atlas-data-lake-testing/tests/unified/*.yml" --valid
client-side-operations-timeout: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../client-side-operations-timeout/tests/*.yml" --valid

versioned-api: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../versioned-api/tests/*.yml" --valid
collection-management: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../collection-management/tests/*.yml" --valid

load-balancers: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../load-balancers/tests/*.yml" --valid
command-logging-and-monitoring: command-logging-and-monitoring/logging command-logging-and-monitoring/monitoring

gridfs: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../gridfs/tests/*.yml" --valid
command-logging-and-monitoring/logging: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../command-logging-and-monitoring/tests/logging/*.yml" --valid

transactions: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../transactions/tests/unified/*.yml" --valid
command-logging-and-monitoring/monitoring: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../command-logging-and-monitoring/tests/monitoring/*.yml" --valid

transactions-convenient-api: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../transactions-convenient-api/tests/unified/*.yml" --valid
connection-monitoring-and-pooling: connection-monitoring-and-pooling/logging

change-streams: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../change-streams/tests/unified/*.yml" --valid

client-side-operations-timeout: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../client-side-operations-timeout/tests/*.yml" --valid
connection-monitoring-and-pooling/logging: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../connection-monitoring-and-pooling/tests/logging/*.yml" --valid

crud: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../crud/tests/unified/*.yml" --valid

collection-management: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../collection-management/tests/*.yml" --valid
gridfs: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../gridfs/tests/*.yml" --valid

index-management: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../index-management/tests/*.yml" --valid

load-balancers: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../load-balancers/tests/*.yml" --valid

read-write-concern: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../read-write-concern/tests/operation/*.yml" --valid
Expand All @@ -53,15 +113,40 @@ retryable-reads: HAS_AJV
retryable-writes: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../retryable-writes/tests/unified/*.yml" --valid

run-command: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../run-command/tests/unified/*.yml" --valid

server-discovery-and-monitoring: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../server-discovery-and-monitoring/tests/unified/*.yml" --valid

server-selection: server-selection/logging

server-selection/logging: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../server-selection/tests/logging/*.yml" --valid

sessions: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../sessions/tests/*.yml" --valid

command-logging-and-monitoring: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../command-logging-and-monitoring/tests/logging/*.yml" --valid
@ajv test -s $(SCHEMA) -d "../../command-logging-and-monitoring/tests/monitoring/*.yml" --valid
transactions-convenient-api: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../transactions-convenient-api/tests/unified/*.yml" --valid

client-side-encryption: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../client-side-encryption/tests/unified/*.yml" --valid
transactions: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../transactions/tests/unified/*.yml" --valid

unified-test-format: unified-test-format/invalid unified-test-format/valid-fail unified-test-format/valid-pass
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The .PHONY all target already calls unified-test-format/invalid unified-test-format/valid-fail unified-test-format/valid-pass individually. Should we remove this?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The .PHONY target lists all targets in the file so they're not checked as actual file names. The all target depends on the unified-test-format target, which in turn depends on these individual targets. This was the part that was missing in the incomplete comment and has now been clarified: for specs with multiple tests folders, we create one target for each tests folder and another target for the spec itself.


unified-test-format/invalid: HAS_AJV
@# Redirect stdout to hide expected validation errors
@ajv test -s $(SCHEMA) -d "invalid/*.yml" --invalid > /dev/null && echo "invalid/*.yml passed test"

unified-test-format/valid-fail: HAS_AJV
@ajv test -s $(SCHEMA) -d "valid-fail/*.yml" --valid

unified-test-format/valid-pass: HAS_AJV
@ajv test -s $(SCHEMA) -d "valid-pass/*.yml" --valid

versioned-api: HAS_AJV
@ajv test -s $(SCHEMA) -d "../../versioned-api/tests/*.yml" --valid

HAS_AJV:
@if ! command -v ajv > /dev/null; then \
Expand Down
Loading