func lock(t *testing.T, f *os.File) { … } func rLock(t *testing.T, f *os.File) { … } func unlock(t *testing.T, f *os.File) { … } func mustTempFile(t *testing.T) (f *os.File, remove func()) { … } func mustOpen(t *testing.T, name string) *os.File { … } const quiescent … const probablyStillBlocked … func mustBlock(t *testing.T, op string, f *os.File) (wait func(*testing.T)) { … } func TestLockExcludesLock(t *testing.T) { … } func TestLockExcludesRLock(t *testing.T) { … } func TestRLockExcludesOnlyLock(t *testing.T) { … } func TestLockNotDroppedByExecCommand(t *testing.T) { … }