Ran into this issue in particular when the current working directory was being manipulated in the test, and restored in tearDown.
Repro:
import 'dart:async';
import 'package:test/test.dart';
void main() {
tearDown(() {
print("tearDown");
});
test("test", () async {
await new Future.delayed(Duration(seconds: 5));
}, timeout: new Timeout(Duration(seconds: 1)));
}