| // Copyright 2020 The Fuchsia 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 fuzz | |
| import ( | |
| "bufio" | |
| "fmt" | |
| "io" | |
| "io/ioutil" | |
| "strings" | |
| "testing" | |
| ) | |
| const invalidPath = "/invalid/path" | |
| func getTempdir(t *testing.T) string { | |
| tmpDir, err := ioutil.TempDir("", "clusterfuchsia_test") | |
| if err != nil { | |
| t.Fatalf("error creating temp dir: %s", err) | |
| } | |
| return tmpDir | |
| } | |
| // Must be cleaned up by caller | |
| func createTempfileWithContents(t *testing.T, contents string, extension string) string { | |
| file, err := ioutil.TempFile("", "*."+extension) | |
| if err != nil { | |
| t.Fatalf("error creating tempfile: %s", err) | |
| } | |
| file.WriteString(contents) | |
| file.Close() | |
| return file.Name() | |
| } | |
| // This is used by both the mockBuild and the mock symbolize subprocess | |
| func fakeSymbolize(in io.Reader, out io.Writer) error { | |
| scanner := bufio.NewScanner(in) | |
| for scanner.Scan() { | |
| line := scanner.Text() | |
| io.WriteString(out, strings.ReplaceAll(line, "{{{0x41}}}", "wow.c:1")+"\n") | |
| } | |
| if err := scanner.Err(); err != nil { | |
| return fmt.Errorf("failed during scan: %s", err) | |
| } | |
| return nil | |
| } |