|  | // 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 emulator | 
|  |  | 
|  | import ( | 
|  | "bufio" | 
|  | "fmt" | 
|  | "strings" | 
|  | "testing" | 
|  | ) | 
|  |  | 
|  | func TestCheckForLogMessage(t *testing.T) { | 
|  | logLines := []string{"Some message", "Another message", "First message we're looking for", "Another message", "Second message we're looking for"} | 
|  | testStr := strings.Join(logLines, "\n") | 
|  | // attach a newline, because the reader expects this | 
|  | testStr = fmt.Sprintf("%s\n", testStr) | 
|  | fakeReader := bufio.NewReader(strings.NewReader(testStr)) | 
|  | i := Instance{} | 
|  | if err := i.checkForLogMessage(fakeReader, logLines[2]); err != nil { | 
|  | t.Fatal(err) | 
|  | } | 
|  |  | 
|  | fakeReader = bufio.NewReader(strings.NewReader(testStr)) | 
|  |  | 
|  | i = Instance{stdout: fakeReader} | 
|  | if err := i.WaitForLogMessage(logLines[2]); err != nil { | 
|  | t.Fatal(err) | 
|  | } | 
|  |  | 
|  | fakeReader = bufio.NewReader(strings.NewReader(testStr)) | 
|  |  | 
|  | i = Instance{stdout: fakeReader} | 
|  | if err := i.WaitForLogMessages([]string{logLines[2]}); err != nil { | 
|  | t.Fatal(err) | 
|  | } | 
|  |  | 
|  | fakeReader = bufio.NewReader(strings.NewReader(testStr)) | 
|  |  | 
|  | i = Instance{stdout: fakeReader} | 
|  | if err := i.WaitForLogMessages([]string{logLines[2], logLines[4]}); err != nil { | 
|  | t.Fatal(err) | 
|  | } | 
|  |  | 
|  | fakeReader = bufio.NewReader(strings.NewReader(testStr)) | 
|  |  | 
|  | i = Instance{stdout: fakeReader} | 
|  | if err := i.WaitForLogMessages([]string{logLines[4], logLines[2]}); err != nil { | 
|  | t.Fatal(err) | 
|  | } | 
|  | } |