| // Copyright 2021 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| package gitfs | |
| import ( | |
| "io/fs" | |
| "os" | |
| "testing" | |
| ) | |
| func TestGerrit(t *testing.T) { | |
| if testing.Short() { | |
| t.Skip("skipping Gerrit network access in -short mode") | |
| } | |
| r, err := NewRepo(nil, "https://go.googlesource.com/scratch") | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| _, fsys, err := r.Clone("HEAD") | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| data, err := fs.ReadFile(fsys, "README.md") | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| t.Log(string(data)) | |
| } | |
| func TestGitHub(t *testing.T) { | |
| if testing.Short() { | |
| t.Skip("skipping GitHub network access in -short mode") | |
| } | |
| r, err := NewRepo(nil, "https://github.com/rsc/quote") | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| _, fsys, err := r.Clone("HEAD") | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| data, err := fs.ReadFile(fsys, "README.md") | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| t.Log(string(data)) | |
| } | |
| func TestPack(t *testing.T) { | |
| data, err := os.ReadFile("testdata/scratch.pack") | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| var s store | |
| err = unpack(&s, data) | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| h := Hash{0xf6, 0xf7, 0x39, 0x2a, 0x99, 0x9b, 0x3d, 0x75, 0xe2, 0x1c, 0xae, 0xe3, 0x3a, 0xeb, 0x6d, 0x01, 0x92, 0xe8, 0xdc, 0x6b} | |
| tfs, err := s.commit(h) | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| data, err = fs.ReadFile(tfs, "rsc/greeting.go") | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| println(string(data)) | |
| } |