mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 15:37:56 -05:00
Rename pow to execution (#11135)
* Rename pow to execution * Fix complain * Fix complain
This commit is contained in:
53
beacon-chain/execution/prometheus_test.go
Normal file
53
beacon-chain/execution/prometheus_test.go
Normal file
@@ -0,0 +1,53 @@
|
||||
package execution
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"github.com/prysmaticlabs/prysm/testing/assert"
|
||||
)
|
||||
|
||||
// TestCleanup ensures that the cleanup function unregisters the prometheus.Collection
|
||||
// also tests the interchangability of the explicit prometheus Register/Unregister
|
||||
// and the implicit methods within the collector implementation
|
||||
func TestCleanup(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
pc, err := NewPowchainCollector(ctx)
|
||||
assert.NoError(t, err, "Uxpected error caling NewPowchainCollector")
|
||||
unregistered := pc.unregister()
|
||||
assert.Equal(t, true, unregistered, "PowchainCollector.unregister did not return true (via prometheus.DefaultRegistry)")
|
||||
// PowchainCollector is a prometheus.Collector, so we should be able to register it again
|
||||
err = prometheus.Register(pc)
|
||||
assert.NoError(t, err, "Got error from prometheus.Register after unregistering PowchainCollector")
|
||||
// even if it somehow gets registered somewhere else, unregister should work
|
||||
unregistered = pc.unregister()
|
||||
assert.Equal(t, true, unregistered, "PowchainCollector.unregister failed on the second attempt")
|
||||
// and so we should be able to register it again
|
||||
err = prometheus.Register(pc)
|
||||
assert.NoError(t, err, "Got error from prometheus.Register on the second attempt")
|
||||
// ok clean it up one last time for real :)
|
||||
unregistered = prometheus.Unregister(pc)
|
||||
assert.Equal(t, true, unregistered, "prometheus.Unregister failed to unregister PowchainCollector on final cleanup")
|
||||
}
|
||||
|
||||
// TestCancelation tests that canceling the context passed into
|
||||
// NewPowchainCollector cleans everything up as expected. This
|
||||
// does come at the cost of an extra channel cluttering up
|
||||
// PowchainCollector, just for this test.
|
||||
func TestCancelation(t *testing.T) {
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
pc, err := NewPowchainCollector(ctx)
|
||||
assert.NoError(t, err, "Uxpected error caling NewPowchainCollector")
|
||||
ticker := time.NewTicker(10 * time.Second)
|
||||
cancel()
|
||||
select {
|
||||
case <-ticker.C:
|
||||
t.Error("Hit timeout waiting for cancel() to cleanup PowchainCollector")
|
||||
case <-pc.finishChan:
|
||||
break
|
||||
}
|
||||
err = prometheus.Register(pc)
|
||||
assert.NoError(t, err, "Got error from prometheus.Register after unregistering PowchainCollector through canceled context")
|
||||
}
|
||||
Reference in New Issue
Block a user