Merge pull request #42 from riccardobiraghi/issue33

Fix timing problem in mirroring tests
This commit is contained in:
Arthur Barr
2018-04-10 13:38:07 +01:00
committed by GitHub

View File

@@ -33,7 +33,7 @@ func waitForFile(ctx context.Context, path string) (os.FileInfo, error) {
select { select {
// Check to see if cancellation has been requested // Check to see if cancellation has been requested
case <-ctx.Done(): case <-ctx.Done():
return nil, nil return os.Stat(path)
default: default:
fi, err = os.Stat(path) fi, err = os.Stat(path)
if err != nil { if err != nil {
@@ -145,7 +145,8 @@ func mirrorLog(ctx context.Context, wg *sync.WaitGroup, path string, fromStart b
for { for {
// If there's already data there, mirror it now. // If there's already data there, mirror it now.
mirrorAvailableMessages(f, mf) mirrorAvailableMessages(f, mf)
newFI, err := os.Stat(path) // Wait for the new log file (after rotation)
newFI, err := waitForFile(ctx, path)
if err != nil { if err != nil {
log.Error(err) log.Error(err)
errorChannel <- err errorChannel <- err