How Go caches test results

Go caches test results so that it does not re-run tests if nothing changed. How does it work?