github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/utils/man/man_test.go (about) 1 //go:build !windows 2 // +build !windows 3 4 package man 5 6 import ( 7 "embed" 8 "testing" 9 10 "github.com/lmorg/murex/test/count" 11 ) 12 13 //go:embed test_*.txt 14 var manPagesTxt embed.FS 15 16 func TestMan(t *testing.T) { 17 files, err := manPagesTxt.ReadDir(".") 18 if err != nil { 19 t.Error(err.Error()) 20 } 21 22 count.Tests(t, len(files)*2) 23 24 for _, entry := range files { 25 file, err := manPagesTxt.Open(entry.Name()) 26 if err != nil { 27 t.Errorf("%s: %s", entry.Name(), err.Error()) 28 } 29 30 flags, descs := ParseByStdio(file) 31 if len(flags) == 0 { 32 t.Errorf("%d flags returned for '%s'", len(flags), entry.Name()) 33 } 34 if len(descs) == 0 { 35 t.Errorf("%d descriptions returned for '%s'", len(descs), entry.Name()) 36 } 37 38 err = file.Close() 39 if err != nil { 40 t.Errorf("%s: %s", entry.Name(), err.Error()) 41 } 42 } 43 }