grafana/k6

Run tests in separate process so that we actually test loading proto definitions at runtime

Aperta

#3552 aperta il 5 lug 2023

 (4 commenti) (0 reazioni) (1 assegnatario)Go (1537 fork)batch import
area: grpccihelp wantedteststriage

Metriche repository

Star
 (30.564 stelle)
Metriche merge PR
 (Merge medio 11g 15h) (47 PR mergiate in 30 g)

Descrizione

Originally raised in this comment by @thiagodpf.

What?

The current unit tests run the server and clients in the same process.

gRPC seems to have a global registry for types, so once the server loads them, the client doesn't need to.

This means that all tests that test that clients actually manage to load types correctly only with .proto files are not actually testing that :(

Solutions:

Preferably go test ./... should run the unit tests with the server and client as separate process - preferably even separate from the main go test one :thinking:

This sounds involved.

A quicker solution will be to have another CI step that runs a server + k6 run script.js exercising the most common cases.

Both will be best.

Guida contributor