Skip to content

Latest commit

 

History

History
35 lines (29 loc) · 1.81 KB

ENVIRONMENT.md

File metadata and controls

35 lines (29 loc) · 1.81 KB

This file is automatically generated via ./cmd/gendoc

Complement-Crypto Configuration

Complement-Crypto is configured exclusively through the use of environment variables. These variables are described below. Additional environment variables can be used, and are outlined at https://github.com/matrix-org/complement/blob/main/ENVIRONMENT.md Complement-Crypto always runs in dirty mode (homeservers exist for the entire duration of the test suite) for performance reasons.

COMPLEMENT_CRYPTO_MITMDUMP

The path to dump the output from mitmdump. This file can then be used with mitmweb to view all the HTTP flows in the test.

  • Type: string
  • Default: ""

COMPLEMENT_CRYPTO_RPC_BINARY

The absolute path to the pre-built rpc binary file. This binary is generated via go build -tags=jssdk,rust ./cmd/rpc. This binary is used when running multiprocess tests. If this environment variable is not supplied, tests which try to use multiprocess clients will be skipped, making this environment variable optional.

  • Type: string
  • Default: ""

COMPLEMENT_CRYPTO_TEST_CLIENT_MATRIX

The client test matrix to run. Every test is run for each given permutation. The default matrix tests all JS/Rust permutations ignoring federation.

 Valid values are:
 - `j`: Run a JS SDK client on hs1.
 - `r`: Run a Rust SDK FFI client on hs1.
 - `J`: Run a JS SDK client on hs2.
 - `R`: Run a Rust SDK FFI client on hs2.

For example, for a simple "Alice and Bob" test:

- `rj,rr`: Run the test twice. Run 1: Alice=rust, Bob=JS. Run 2: Alice=rust, Bob=rust. All on HS1.
- `jJ`: Run the test once. Run 1: Alice=JS on HS1, Bob=JS on HS2. Tests federation.

If the matrix only consists of one letter (e.g all j's) then rust-specific tests will not run and vice versa.

  • Type: [][]ClientType
  • Default: jj,jr,rj,rr