本文整理匯總了Golang中clive/zx.Dir.TestFmt方法的典型用法代碼示例。如果您正苦於以下問題:Golang Dir.TestFmt方法的具體用法?Golang Dir.TestFmt怎麽用?Golang Dir.TestFmt使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類clive/zx.Dir
的用法示例。
在下文中一共展示了Dir.TestFmt方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Gets
func Gets(t Fataler, fss ...zx.Tree) {
for i := 0; i < Repeats; i++ {
for _, fs := range fss {
for _, p := range GetFPaths {
printf("getall %s\n", p)
dat, err := zx.GetAll(fs, p)
if err != nil {
t.Fatalf("get %s: %s", p, err)
}
printf("got %d bytes \n\n", len(dat))
if string(dat) != string(FileData[p]) {
printf("got <%s>\nexpected<%s>\n",
string(dat), string(FileData[p]))
t.Fatalf("%s: bad data", p)
}
}
for _, p := range GetDPaths {
printf("getall %s\n", p)
dat, err := zx.GetAll(fs, p)
if err != nil {
t.Fatalf("get %s: %s", p, err)
}
var d zx.Dir
ents := []string{}
for len(dat) > 0 {
d, dat, err = zx.UnpackDir(dat)
if err != nil {
t.Fatalf("dir: %s", err)
}
if d["path"] == "/Ctl" || d["path"] == "/Chg" {
continue
}
ents = append(ents, d.TestFmt())
}
if strings.Join(GetDOuts[p], "\n") != strings.Join(ents, "\n") {
t.Fatalf("bad dir data for %s", p)
}
printf("got %d ents (ctl, chg excluded)\n", len(ents))
}
for _, p := range BadPaths {
dat, err := zx.GetAll(fs, p)
if err==nil || len(dat)>0 {
t.Fatalf("get %s didn't fail", p)
}
}
printf("\n")
}
}
}
示例2: find
//.........這裏部分代碼省略.........
if err != nil {
cs.End(err != nil)
t.dprintf("find %s: %s\n", rid, err)
close(dc, err)
return
}
f, _, err := t.walk(rid, nil)
if err != nil {
cs.End(err != nil)
t.dprintf("find %s: %s\n", rid, err)
close(dc, err)
return
}
p, err := pred.New(fpred)
if err != nil {
cs.End(err != nil)
t.dprintf("find %s: %s\n", rid, err)
close(dc, err)
return
}
cs.Sending()
f.mlk.Lock()
d := f.d.Dup()
f.mlk.Unlock()
if spref != dpref {
suff := zx.Suffix(rid, spref)
d["path"] = zx.Path(dpref, suff)
}
f.find(d, p, spref, dpref, depth, dc, t.ai)
cs.End(err != nil)
t.dprintf("find %s: ok\n", rid)
close(dc)
}()
return dc
}
func (t *Fs) FindGet(rid, fpred, spref, dpref string, depth int) <-chan zx.DirData {
t.dprintf("findget %s '%s' '%s' '%s' %d\n", rid, fpred, spref, dpref, depth)
gc := make(chan zx.DirData)
cs := t.IOstats.NewCall(zx.Sfindget)
go func() {
dc := t.Find(rid, fpred, spref, dpref, depth) // BUG: will stat a Sfind
for d := range dc {
g := zx.DirData{Dir: d}
var datac chan []byte
if d["err"]=="" && d["type"]=="-" {
datac = make(chan []byte)
g.Datac = datac
}
if ok := gc <- g; !ok {
close(dc, cerror(gc))
break
}
if datac != nil {
err := t.get(d["spath"], 0, zx.All, datac, nil)
close(datac, err)
}
}
err := cerror(dc)
cs.End(err != nil)
if err != nil {
t.dprintf("find %s: %s\n", rid, err)
} else {
t.dprintf("find %s: ok\n", rid)
}
close(gc, err)
}()
return gc
}
func (t *Fs) Dump(w io.Writer) {
if t == nil {
fmt.Fprintf(w, "<nil tree>\n")
return
}
fmt.Fprintf(w, "tree [%s] path %s\n", t.name, t.path)
t.root.Dump(w, 0)
fmt.Fprintf(w, "\n")
}
func (f *mFile) Dump(w io.Writer, lvl int) {
tabs := strings.Repeat(" ", lvl)
if f == nil {
fmt.Fprintf(w, "%s<nil file>\n", tabs)
return
}
d := f.d.Dup()
if d["path"] == "/" {
d["size"] = "0"
}
fmt.Fprintf(w, "%s%s\n", tabs, d.TestFmt())
if d["type"] != "d" {
fmt.Fprintf(w, "%s %d bytes\n", tabs, f.data.Len())
return
}
for _, c := range f.child {
c.Dump(w, lvl+1)
}
}