Skip to content

testing: clarity of -timeout flag #20927

@vcabbage

Description

@vcabbage

This is directly related to #20090, opening a new issue because I'm not sure whether closed issues are supposed to be reopened.

The description of the -timeout flag has changed twice for Go 1.9. The first change (done by me) was intended to clarify that the timeout applies per package. The latest revision, referring to "a test binary", is certainly correct, but in my experience many gophers do not know that the tests from each package is executed as a separate test binary. This can be inferred from the help text, but it's not explicit and likely to be ambiguous to many.

There may well be a better description than what I provided. I'd just like for the documentation to be clear without needing to understand exactly how test binaries are built and executed.

Original Text:

-timeout t
If a test runs longer than t, panic.
The default is 10 minutes (10m).

https://golang.org/cl/45816:

-timeout d
If the cumulative test time for a package runs longer than
duration d, panic. Timeout is disabled if set to 0.
The default is 10 minutes (10m).

https://golang.org/cl/47571:

-timeout d
If a test binary runs longer than duration d, panic.
The default is 10 minutes (10m).

Notes:

  • Emphasis added.
  • The "Timeout is disabled if set to 0" text can be ignored. It was a mistake on my part.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions