String "enormous", "large" "medium" or "small", default is "medium"; optional; nonconfigurable

How "heavy" the test is.

A classification of the test's "heaviness": how much time/resources it needs to run.

Unit tests are considered "small", integration tests "medium", and end-to-end tests "large" or "enormous". Bazel uses the size to determine a default timeout (which can be overridden using the timeout attribute) and the amount of resources that have to be acquired for the test to run. Test sizes correspond to the following resources and default timeouts:

Size RAM (in MB) CPU (in CPU cores) Default timeout
small 20 1 short (1 minute)
medium 100 1 moderate (5 minutes)
large 300 1 long (15 minutes)
enormous 800 1 eternal (60 minutes)

The environment variable TEST_SIZE will be set to the value of this attribute when spawning the test.