grafana/k6

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

Ouverte

#3 552 ouverte le 5 juil. 2023

 (4 commentaires) (0 réaction) (1 personne assignée)Go (1 537 forks)batch import
area: grpccihelp wantedteststriage

Métriques du dépôt

Stars
 (30 564 étoiles)
Métriques de merge PR
 (Merge moyen 11j 15h) (47 PRs mergées en 30 j)

Description

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.

Guide contributeur