Skip to content

enhancement: ability to disable some reference checks #888

@jhump

Description

@jhump

Currently, the reference server and reference client make additional assertions about the peer's protocol implementation by examining wire-level details and checking for well-formedness. But some of the checks could really be considered "recommendations", not "requirements", largely in the spirit of the robustness principle (be strict about what you emit, but be lenient about what you accept). For example, if the "grpc-status-details-bin" trailer value uses base64 padding, the reference client complains with an error. The spec states, however, that servers should emit unpadded values, not must. Currently, these checks cause test cases to fail.

Ideally, each of these extra assertions could be given a unique name and that name could then be used to disable them, either in a config file or via command-line flag. This would allow us to more clearly separate required vs. recommended checks and to allow implementations that only do what's required (and not what's recommended) to still pass tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions