Вопрос пользователя:
Ответ нейросети:
tests := []test{
{
fileContent: "2021-10-01 12:00:00 INFO - Log message 1\n2021-10-01 12:01:00 ERROR - Log message 2\n2021-10-01 12:02:00 INFO - Log message 3",
fileName: "test.log",
outContent: []string{"2021-10-01 12:00:00 INFO - Log message 1", "2021-10-01 12:01:00 ERROR - Log message 2", "2021-10-01 12:02:00 INFO - Log message 3"},
wantError: false,
start: time.Date(2021, 10, 1, 12, 0, 0, 0, time.UTC),
end: time.Date(2021, 10, 1, 12, 2, 0, 0, time.UTC),
},
{
fileContent: "2021-10-01 12:00:00 INFO - Log message 1\n2021-10-01 12:01:00 ERROR - Log message 2\n2021-10-01 12:02:00 INFO - Log message 3",
fileName: "test.log",
outContent: []string{"2021-10-01 12:01:00 ERROR - Log message 2", "2021-10-01 12:02:00 INFO - Log message 3"},
wantError: false,
start: time.Date(2021, 10, 1, 12, 1, 0, 0, time.UTC),
end: time.Date(2021, 10, 1, 12, 2, 0, 0, time.UTC),
},
{
fileContent: "2021-10-01 12:00:00 INFO - Log message 1\n2021-10-01 12:01:00 ERROR - Log message 2\n2021-10-01 12:02:00 INFO - Log message 3",
fileName: "test.log",
outContent: []string{"2021-10-01 12:00:00 INFO - Log message 1", "2021-10-01 12:01:00 ERROR - Log message 2"},
wantError: false,
start: time.Date(2021, 10, 1, 12, 0, 0, 0, time.UTC),
end: time.Date(2021, 10, 1, 12, 1, 0, 0, time.UTC),
},
{
fileContent: "2021-10-01 12:00:00 INFO - Log message 1\n2021-10-01 12:01:00 ERROR - Log message 2\n2021-10-01 12:02:00 INFO - Log message 3",
fileName: "test.log",
outContent: []string{},
wantError: false,
start: time.Date(2021, 10, 1, 12, 3, 0, 0, time.UTC),
end: time.Date(2021, 10, 1, 12, 4, 0, 0, time.UTC),
},
}
for _, tc := range tests {
t.Run(tc.fileName, func(t *testing.T) {
file, err := ioutil.TempFile("", tc.fileName)
if err != nil {
t.Fatalf("failed to create temporary file: %v", err)
}
defer os.Remove(file.Name())
_, err = file.WriteString(tc.fileContent)
if err != nil {
t.Fatalf("failed to write to temporary file: %v", err)
}
gotContent, err := ExtractLog(file.Name(), tc.start, tc.end)
if (err != nil) != tc.wantError {
t.Fatalf("got error %v, want error %v", err, tc.wantError)
}
if !reflect.DeepEqual(gotContent, tc.outContent) {
t.Errorf("got content %v, want content %v", gotContent, tc.outContent)
}
})
}
}
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.