Add test for writable timestamp functionality.

Change-Id: I7fb3ae8c5e2819eb2e674203bf6c28c4bd9810e8
diff --git a/fs/gitilesfs_test.go b/fs/gitilesfs_test.go
index 1deadf0..78f75ea 100644
--- a/fs/gitilesfs_test.go
+++ b/fs/gitilesfs_test.go
@@ -356,6 +356,41 @@
 	}
 }
 
+func TestGitilesFSTimeStamps(t *testing.T) {
+	fix, err := newTestFixture()
+	if err != nil {
+		t.Fatal("newTestFixture", err)
+	}
+	defer fix.cleanup()
+
+	repoService := fix.service.NewRepoService("platform/build/kati")
+	treeResp, err := repoService.GetTree("ce34badf691d36e8048b63f89d1a86ee5fa4325c", "", true)
+	if err != nil {
+		t.Fatal("Tree:", err)
+	}
+
+	fs := NewGitilesRoot(fix.cache, treeResp, repoService, GitilesOptions{})
+	if err := fix.mount(fs); err != nil {
+		t.Fatal("mount", err)
+	}
+
+	fn := filepath.Join(fix.mntDir, "testcase", "addprefix.mk")
+
+	n := time.Now()
+	if err := os.Chtimes(fn, n, n); err != nil {
+		t.Errorf("Chtimes: %v", err)
+	}
+
+	after, err := os.Lstat(fn)
+	if err != nil {
+		t.Fatalf("Lstat(%q): %v", fn, err)
+	}
+
+	if !n.Equal(after.ModTime()) {
+		t.Errorf("mod time did not change")
+	}
+}
+
 func TestGitilesFSMultiFetch(t *testing.T) {
 	fix, err := newTestFixture()
 	if err != nil {