(t *testing.T, lw *LogWriter, path string)
| 117 | } |
| 118 | |
| 119 | func writeToLogWriterAndVerify(t *testing.T, lw *LogWriter, path string) { |
| 120 | msg := []byte("abcd") |
| 121 | msg = bytes.Repeat(msg, 256) |
| 122 | msg[1023] = '\n' |
| 123 | for range 10 { |
| 124 | go func() { |
| 125 | for range 1000 { |
| 126 | n, err := lw.Write(msg) |
| 127 | require.NoError(t, err) |
| 128 | require.Equal(t, n, len(msg), "write length is not equal") |
| 129 | } |
| 130 | }() |
| 131 | } |
| 132 | time.Sleep(time.Second * 10) |
| 133 | require.NoError(t, lw.Close()) |
| 134 | files, err := os.ReadDir("./log_test") |
| 135 | require.NoError(t, err) |
| 136 | |
| 137 | lineCount := 0 |
| 138 | for _, f := range files { |
| 139 | file, _ := os.Open(filepath.Join(filepath.Dir(path), f.Name())) |
| 140 | |
| 141 | var fileScanner *bufio.Scanner |
| 142 | if strings.HasSuffix(file.Name(), ".gz") { |
| 143 | gz, err := gzip.NewReader(file) |
| 144 | require.NoError(t, err) |
| 145 | all, err := io.ReadAll(gz) |
| 146 | require.NoError(t, err) |
| 147 | fileScanner = bufio.NewScanner(bytes.NewReader(all)) |
| 148 | gz.Close() |
| 149 | } else { |
| 150 | fileScanner = bufio.NewScanner(file) |
| 151 | } |
| 152 | for fileScanner.Scan() { |
| 153 | lineCount = lineCount + 1 |
| 154 | } |
| 155 | } |
| 156 | |
| 157 | require.Equal(t, lineCount, 10000) |
| 158 | } |
no test coverage detected