mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-11-30 05:41:12 +00:00
a0d008e071
* Move cncd/{logging,pubsub,queue}/ to server/{logging,pubsub,queue}/ * Update REAMDEs and include history Co-authored-by: Anbraten <anton@ju60.de> Co-authored-by: Anbraten <anton@ju60.de>
52 lines
803 B
Go
52 lines
803 B
Go
package logging
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestLogging(t *testing.T) {
|
|
var (
|
|
wg sync.WaitGroup
|
|
|
|
testPath = "test"
|
|
testEntry = &Entry{
|
|
Data: []byte("test"),
|
|
}
|
|
)
|
|
|
|
ctx, cancel := context.WithCancel(
|
|
context.Background(),
|
|
)
|
|
|
|
logger := New()
|
|
logger.Open(ctx, testPath)
|
|
go func() {
|
|
logger.Tail(ctx, testPath, func(entry ...*Entry) { wg.Done() })
|
|
}()
|
|
go func() {
|
|
logger.Tail(ctx, testPath, func(entry ...*Entry) { wg.Done() })
|
|
}()
|
|
|
|
<-time.After(500 * time.Millisecond)
|
|
|
|
wg.Add(4)
|
|
go func() {
|
|
logger.Write(ctx, testPath, testEntry)
|
|
logger.Write(ctx, testPath, testEntry)
|
|
}()
|
|
|
|
wg.Wait()
|
|
|
|
wg.Add(1)
|
|
go func() {
|
|
logger.Tail(ctx, testPath, func(entry ...*Entry) { wg.Done() })
|
|
}()
|
|
|
|
<-time.After(500 * time.Millisecond)
|
|
|
|
wg.Wait()
|
|
cancel()
|
|
}
|