From 58f0b1768539568707c532ffef7ed5d01a07da2e Mon Sep 17 00:00:00 2001 From: Bogdan Drutu Date: Tue, 1 Mar 2022 15:57:13 -0800 Subject: [PATCH 1/2] Implement Stringer for service.State Signed-off-by: Bogdan Drutu --- service/collector.go | 14 ++++++++++++++ service/collector_test.go | 7 +++++++ 2 files changed, 21 insertions(+) diff --git a/service/collector.go b/service/collector.go index ace363a84ca..6f84b98eb1c 100644 --- a/service/collector.go +++ b/service/collector.go @@ -50,6 +50,20 @@ const ( Closed ) +func (s State) String() string { + switch s { + case Starting: + return "Starting" + case Running: + return "Running" + case Closing: + return "Closing" + case Closed: + return "Closed" + } + return "" +} + // (Internal note) Collector Lifecycle: // - New constructs a new Collector. // - Run starts the collector. diff --git a/service/collector_test.go b/service/collector_test.go index 27a80f1bb1d..7f9daeaa2a7 100644 --- a/service/collector_test.go +++ b/service/collector_test.go @@ -40,6 +40,13 @@ import ( "go.opentelemetry.io/collector/internal/testutil" ) +func TestStateString(t *testing.T) { + assert.Equal(t, "Starting", Starting.String()) + assert.Equal(t, "Running", Running.String()) + assert.Equal(t, "Closing", Closing.String()) + assert.Equal(t, "Closed", Closed.String()) +} + // TestCollector_StartAsGoRoutine must be the first unit test on the file, // to test for initialization without setting CLI flags. func TestCollector_StartAsGoRoutine(t *testing.T) { From 7c2deec49a0ccd69d40a54ebc5efb257020f4625 Mon Sep 17 00:00:00 2001 From: Bogdan Drutu Date: Wed, 2 Mar 2022 08:59:05 -0800 Subject: [PATCH 2/2] Update collector.go --- service/collector.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service/collector.go b/service/collector.go index 6f84b98eb1c..b7e32dc7532 100644 --- a/service/collector.go +++ b/service/collector.go @@ -61,7 +61,7 @@ func (s State) String() string { case Closed: return "Closed" } - return "" + return "UNKNOWN" } // (Internal note) Collector Lifecycle: