Conduit is a simple, fast and reliable chat server powered by Matrix https://conduit.rs
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
866 B
37 lines
866 B
#!/usr/bin/env bash |
|
|
|
set -euo pipefail |
|
|
|
# Path to Complement's source code |
|
COMPLEMENT_SRC="$1" |
|
|
|
# A `.jsonl` file to write test logs to |
|
LOG_FILE="$2" |
|
|
|
# A `.jsonl` file to write test results to |
|
RESULTS_FILE="$3" |
|
|
|
OCI_IMAGE="complement-conduit:dev" |
|
|
|
env \ |
|
-C "$(git rev-parse --show-toplevel)" \ |
|
docker build \ |
|
--tag "$OCI_IMAGE" \ |
|
--file complement/Dockerfile \ |
|
. |
|
|
|
# It's okay (likely, even) that `go test` exits nonzero |
|
set +o pipefail |
|
env \ |
|
-C "$COMPLEMENT_SRC" \ |
|
COMPLEMENT_BASE_IMAGE="$OCI_IMAGE" \ |
|
go test -json ./tests | tee "$LOG_FILE" |
|
set -o pipefail |
|
|
|
# Post-process the results into an easy-to-compare format |
|
cat "$LOG_FILE" | jq -c ' |
|
select( |
|
(.Action == "pass" or .Action == "fail" or .Action == "skip") |
|
and .Test != null |
|
) | {Test: .Test, Action: .Action} |
|
' | sort > "$RESULTS_FILE"
|
|
|