func TestEndToEndMkdirNoParentTimestamp(t *testing.T) { tc := NewTestCase(t) defer tc.Clean() tc.RunSuccess(WorkRequest{ Argv: []string{"mkdir", "-p", tc.wd + "/dir"}, }) rootless := strings.TrimLeft(tc.wd, "/") beforeTime := tc.master.attributes.Get(rootless + "/dir").ChangeTime() var after *attr.FileAttr for i := 0; ; i++ { time.Sleep(10e6) subdir := fmt.Sprintf(tc.wd+"/dir/subdir%d", i) tc.RunSuccess(WorkRequest{ Argv: []string{"mkdir", subdir}, }) after = tc.master.attributes.Get(strings.TrimLeft(subdir, "/")) if !after.ChangeTime().Equal(beforeTime) { break } } afterDir := tc.master.attributes.Get(rootless + "/dir") if afterDir.ChangeTime().Equal(beforeTime) { t.Errorf("Forgot to update parent timestamps") } }