code-intelligence.com/cifuzz@v0.40.0/internal/cmd/coverage/summary/coverage_test.go (about) 1 package summary 2 3 import ( 4 "io" 5 "os" 6 "strings" 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestCoverage_PrintTable(t *testing.T) { 14 rPipe, wPipe, err := os.Pipe() 15 require.NoError(t, err) 16 17 report := `SF:bar.cpp 18 FNH:2 19 FNF:21 20 end_of_record 21 SF:foo.cpp 22 FNH:1 23 FNF:1 24 end_of_record 25 ` 26 ParseLcov(strings.NewReader(report)).PrintTable(wPipe) 27 28 wPipe.Close() 29 pipeOut, err := io.ReadAll(rPipe) 30 require.NoError(t, err) 31 out := string(pipeOut) 32 33 assert.Contains(t, out, "bar.cpp") 34 assert.Contains(t, out, "foo.cpp") 35 assert.Contains(t, out, "2 / 21 (9.5%)") 36 assert.Contains(t, out, "0 / 0 (100.0%)") 37 assert.Contains(t, out, "3 / 22") 38 }