Text file src/cmd/go/testdata/script/test_fuzz_err_deadlock.txt

     1  [short] skip
     2  [!fuzz-instrumented] skip
     3  
     4  env GOCACHE=$WORK/cache
     5  ! go test -fuzz=FuzzDead -v
     6  # This is a somewhat inexact check, but since we don't prefix the error with anything
     7  # and as the error suffix is platform dependent, this is the best we can do. In the
     8  # deadlock failure case, the test will just deadlock and timeout anyway, so it should
     9  # be clear that that failure mode is different.
    10  stdout 'open'
    11  
    12  -- go.mod --
    13  module test
    14  
    15  -- cov_test.go --
    16  package dead
    17  
    18  import (
    19  	"os"
    20  	"path/filepath"
    21  	"testing"
    22  	"time"
    23  )
    24  
    25  func FuzzDead(f *testing.F) {
    26  	go func() {
    27  		c := filepath.Join(os.Getenv("GOCACHE"), "fuzz", "test", "FuzzDead")
    28  		t := time.NewTicker(time.Second)
    29  		for range t.C {
    30  			files, _ := os.ReadDir(c)
    31  			if len(files) > 0 {
    32  				os.RemoveAll(c)
    33  			}
    34  		}
    35  	}()
    36  
    37  	f.Fuzz(func(t *testing.T, b []byte) {
    38  		if len(b) == 8 &&
    39  			b[0] == 'h' &&
    40  			b[1] == 'e' &&
    41  			b[2] == 'l' &&
    42  			b[3] == 'l' &&
    43  			b[4] == 'o' &&
    44  			b[5] == ' ' &&
    45  			b[6] == ':' &&
    46  			b[7] == ')' {
    47  			return
    48  		}
    49  	})
    50  }
    51  

View as plain text