74 строки
1.4 KiB
Go
74 строки
1.4 KiB
Go
// 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("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("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))
|
|
}
|