<p>String <code>"short"</code>, <code>"moderate"</code>, <code>"long"</code>, or
  <code>"eternal"</code>; <a href="#configurable-attributes">nonconfigurable</a>; default is derived
  from the test's <code>size</code> attribute</code></p>

<p>
How long the test is expected to run before returning.
</p>

<p>
While a test's size attribute controls resource estimation, a test's
timeout may be set independently.  If not explicitly specified, the
timeout is based on the <a href="#test.size">test's size</a>. The test
timeout can be overridden with the <code>--test_timeout</code> flag, e.g. for
running under certain conditions which are known to be slow. Test timeout values
correspond to the following time periods:
</p>

<table style="width: 100%">
  <tr>
    <th>Timeout Value</th>
    <th>Time Period</th>
  </tr>
  <tr>
    <td>short</td>
    <td>1 minute</td>
  </tr>
  <tr>
    <td>moderate</td>
    <td>5 minutes</td>
  </tr>
  <tr>
    <td>long</td>
    <td>15 minutes</td>
  </tr>
  <tr>
    <td>eternal</td>
    <td>60 minutes</td>
  </tr>
</table>

<p>
For times other than the above, the test timeout can be overridden with the
<code>--test_timeout</code> bazel flag, e.g. for manually running under
conditions which are known to be slow. The <code>--test_timeout</code> values
are in seconds. For example <code>--test_timeout=120</code> will set the test
timeout to two minutes.
</p>

<p>
  The environment variable
  <code><a href="${link test-encyclopedia#initial-conditions}">TEST_TIMEOUT</a></code> will be set
  to the test timeout (in seconds) when spawning the test.
</p>

