mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-26 22:19:40 -08:00
Merge pull request #1030 from prometheus/fix-flakey-filesd
Fix flakey FileSD test.
This commit is contained in:
commit
29eaa8c7cf
|
@ -160,7 +160,7 @@ func (fd *FileDiscovery) Run(ch chan<- *config.TargetGroup, done <-chan struct{}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// refresh reads all files matching the discoveries patterns and sends the respective
|
// refresh reads all files matching the discovery's patterns and sends the respective
|
||||||
// updated target groups through the channel.
|
// updated target groups through the channel.
|
||||||
func (fd *FileDiscovery) refresh(ch chan<- *config.TargetGroup) {
|
func (fd *FileDiscovery) refresh(ch chan<- *config.TargetGroup) {
|
||||||
ref := map[string]int{}
|
ref := map[string]int{}
|
||||||
|
|
|
@ -30,7 +30,6 @@ func testFileSD(t *testing.T, ext string) {
|
||||||
done = make(chan struct{})
|
done = make(chan struct{})
|
||||||
)
|
)
|
||||||
go fsd.Run(ch, done)
|
go fsd.Run(ch, done)
|
||||||
defer close(done)
|
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case <-time.After(25 * time.Millisecond):
|
case <-time.After(25 * time.Millisecond):
|
||||||
|
@ -81,6 +80,7 @@ func testFileSD(t *testing.T, ext string) {
|
||||||
// some runs (which might be empty, chains of different operations etc.).
|
// some runs (which might be empty, chains of different operations etc.).
|
||||||
// We have to drain those (as the target manager would) to avoid deadlocking and must
|
// We have to drain those (as the target manager would) to avoid deadlocking and must
|
||||||
// not try to make sense of it all...
|
// not try to make sense of it all...
|
||||||
|
drained := make(chan struct{})
|
||||||
go func() {
|
go func() {
|
||||||
for tg := range ch {
|
for tg := range ch {
|
||||||
// Below we will change the file to a bad syntax. Previously extracted target
|
// Below we will change the file to a bad syntax. Previously extracted target
|
||||||
|
@ -89,6 +89,7 @@ func testFileSD(t *testing.T, ext string) {
|
||||||
t.Errorf("Unexpected empty target group received: %s", tg)
|
t.Errorf("Unexpected empty target group received: %s", tg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
close(drained)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
newf, err = os.Create("fixtures/_test.new")
|
newf, err = os.Create("fixtures/_test.new")
|
||||||
|
@ -104,6 +105,6 @@ func testFileSD(t *testing.T, ext string) {
|
||||||
|
|
||||||
os.Rename(newf.Name(), "fixtures/_test"+ext)
|
os.Rename(newf.Name(), "fixtures/_test"+ext)
|
||||||
|
|
||||||
// Give notifcations some time to arrive.
|
close(done)
|
||||||
time.Sleep(50 * time.Millisecond)
|
<-drained
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue