Skip to content

Commit

Permalink
Add a featuregatetest package and module to share featuregate testing…
Browse files Browse the repository at this point in the history
… support

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
  • Loading branch information
bogdandrutu committed Feb 12, 2025
1 parent d97904a commit 0e048eb
Show file tree
Hide file tree
Showing 27 changed files with 115 additions and 79 deletions.
1 change: 1 addition & 0 deletions cmd/builder/internal/builder/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ var replaceModules = []string{
"/extension/zpagesextension",
"/extension/xextension",
"/featuregate",
"/featuregate/featuregatetest",
"/internal/memorylimiter",
"/internal/fanoutconsumer",
"/internal/sharedcomponent",
Expand Down
1 change: 1 addition & 0 deletions cmd/otelcorecol/builder-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ replaces:
- go.opentelemetry.io/collector/extension/xextension => ../../extension/xextension
- go.opentelemetry.io/collector/extension/zpagesextension => ../../extension/zpagesextension
- go.opentelemetry.io/collector/featuregate => ../../featuregate
- go.opentelemetry.io/collector/featuregate/featuregatetest => ../../featuregate/featuregatetest
- go.opentelemetry.io/collector/internal/memorylimiter => ../../internal/memorylimiter
- go.opentelemetry.io/collector/internal/fanoutconsumer => ../../internal/fanoutconsumer
- go.opentelemetry.io/collector/internal/telemetry => ../../internal/telemetry
Expand Down
4 changes: 3 additions & 1 deletion cmd/otelcorecol/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module go.opentelemetry.io/collector/cmd/otelcorecol

go 1.23.0

toolchain go1.23.6
toolchain go1.23.5

require (
go.opentelemetry.io/collector/component v0.119.0
Expand Down Expand Up @@ -256,6 +256,8 @@ replace go.opentelemetry.io/collector/extension/zpagesextension => ../../extensi

replace go.opentelemetry.io/collector/featuregate => ../../featuregate

replace go.opentelemetry.io/collector/featuregate/featuregatetest => ../../featuregate/featuregatetest

replace go.opentelemetry.io/collector/internal/memorylimiter => ../../internal/memorylimiter

replace go.opentelemetry.io/collector/internal/fanoutconsumer => ../../internal/fanoutconsumer
Expand Down
2 changes: 2 additions & 0 deletions exporter/debugexporter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,5 @@ replace go.opentelemetry.io/collector/extension/extensiontest => ../../extension
replace go.opentelemetry.io/collector/featuregate => ../../featuregate

replace go.opentelemetry.io/collector/extension/xextension => ../../extension/xextension

replace go.opentelemetry.io/collector/featuregate/featuregatetest => ../../featuregate/featuregatetest
11 changes: 6 additions & 5 deletions exporter/exporterhelper/internal/base_exporter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"go.opentelemetry.io/collector/exporter/exporterhelper/internal/requesttest"
"go.opentelemetry.io/collector/exporter/exporterqueue"
"go.opentelemetry.io/collector/exporter/exportertest"
"go.opentelemetry.io/collector/featuregate/featuregatetest"
"go.opentelemetry.io/collector/pipeline"
)

Expand Down Expand Up @@ -50,7 +51,7 @@ func newNoopExportSender() Sender[request.Request] {
func TestBaseExporter(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
be, err := NewBaseExporter(defaultSettings, defaultSignal)
require.NoError(t, err)
require.NoError(t, be.Start(context.Background(), componenttest.NewNopHost()))
Expand All @@ -64,7 +65,7 @@ func TestBaseExporter(t *testing.T) {
func TestBaseExporterWithOptions(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
want := errors.New("my error")
be, err := NewBaseExporter(
defaultSettings, defaultSignal,
Expand All @@ -84,7 +85,7 @@ func TestBaseExporterWithOptions(t *testing.T) {
func TestQueueOptionsWithRequestExporter(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
bs, err := NewBaseExporter(exportertest.NewNopSettings(), defaultSignal,
WithRetry(configretry.NewDefaultBackOffConfig()))
require.NoError(t, err)
Expand All @@ -108,7 +109,7 @@ func TestQueueOptionsWithRequestExporter(t *testing.T) {
func TestBaseExporterLogging(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
set := exportertest.NewNopSettings()
logger, observed := observer.New(zap.DebugLevel)
set.Logger = zap.New(logger)
Expand Down Expand Up @@ -183,7 +184,7 @@ func TestQueueRetryWithDisabledQueue(t *testing.T) {
},
) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
set := exportertest.NewNopSettings()
logger, observed := observer.New(zap.ErrorLevel)
set.Logger = zap.New(logger)
Expand Down
25 changes: 13 additions & 12 deletions exporter/exporterhelper/internal/batch_sender_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
"go.opentelemetry.io/collector/exporter/exporterbatcher"
"go.opentelemetry.io/collector/exporter/exporterhelper/internal/requesttest"
"go.opentelemetry.io/collector/exporter/exporterqueue"
"go.opentelemetry.io/collector/featuregate/featuregatetest"
)

func TestBatchSender_Merge(t *testing.T) {
Expand Down Expand Up @@ -56,7 +57,7 @@ func TestBatchSender_Merge(t *testing.T) {
},
) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
be, err := newQueueBatchExporter(exporterqueue.NewDefaultConfig(), tt.batchCfg)
require.NoError(t, err)
require.NoError(t, be.Start(context.Background(), componenttest.NewNopHost()))
Expand Down Expand Up @@ -143,7 +144,7 @@ func TestBatchSender_BatchExportError(t *testing.T) {
},
) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
be, err := newQueueBatchExporter(exporterqueue.NewDefaultConfig(), tt.batchCfg)
require.NoError(t, err)
require.NoError(t, be.Start(context.Background(), componenttest.NewNopHost()))
Expand Down Expand Up @@ -179,7 +180,7 @@ func TestBatchSender_BatchExportError(t *testing.T) {
func TestBatchSender_MergeOrSplit(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)

batchCfg := exporterbatcher.NewDefaultConfig()
batchCfg.MinSizeItems = 5
Expand Down Expand Up @@ -224,7 +225,7 @@ func TestBatchSender_MergeOrSplit(t *testing.T) {
func TestBatchSender_Shutdown(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
batchCfg := exporterbatcher.NewDefaultConfig()
batchCfg.MinSizeItems = 10
be, err := newQueueBatchExporter(exporterqueue.NewDefaultConfig(), batchCfg)
Expand Down Expand Up @@ -282,7 +283,7 @@ func TestBatchSender_Shutdown(t *testing.T) {
func TestBatchSender_PostShutdown(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
be, err := newQueueBatchExporter(exporterqueue.Config{}, exporterbatcher.NewDefaultConfig())
require.NoError(t, err)
assert.NoError(t, be.Start(context.Background(), componenttest.NewNopHost()))
Expand Down Expand Up @@ -350,7 +351,7 @@ func TestBatchSender_ConcurrencyLimitReached(t *testing.T) {
// To avoid blocking, the concurrency limit is set to the number of concurrent goroutines that are in charge of
// reading from the queue and adding to batch. With the new model, we are pulling instead of pushing so we don't
// block the reading goroutine anymore.
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, false)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, false)

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
Expand Down Expand Up @@ -408,7 +409,7 @@ func TestBatchSender_ConcurrencyLimitReached(t *testing.T) {
func TestBatchSender_BatchBlocking(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
bCfg := exporterbatcher.NewDefaultConfig()
bCfg.MinSizeItems = 3
be, err := newQueueBatchExporter(exporterqueue.Config{}, bCfg)
Expand Down Expand Up @@ -442,7 +443,7 @@ func TestBatchSender_BatchBlocking(t *testing.T) {
func TestBatchSender_BatchCancelled(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
bCfg := exporterbatcher.NewDefaultConfig()
bCfg.MinSizeItems = 2
be, err := newQueueBatchExporter(exporterqueue.Config{}, bCfg)
Expand Down Expand Up @@ -481,7 +482,7 @@ func TestBatchSender_BatchCancelled(t *testing.T) {
func TestBatchSender_DrainActiveRequests(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
bCfg := exporterbatcher.NewDefaultConfig()
bCfg.MinSizeItems = 2

Expand Down Expand Up @@ -520,7 +521,7 @@ func TestBatchSender_DrainActiveRequests(t *testing.T) {
func TestBatchSender_UnstartedShutdown(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
be, err := newQueueBatchExporter(exporterqueue.NewDefaultConfig(), exporterbatcher.NewDefaultConfig())
require.NoError(t, err)
err = be.Shutdown(context.Background())
Expand Down Expand Up @@ -581,7 +582,7 @@ func TestBatchSender_UnstartedShutdown(t *testing.T) {
func TestBatchSenderWithTimeout(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
bCfg := exporterbatcher.NewDefaultConfig()
bCfg.MinSizeItems = 10

Expand Down Expand Up @@ -656,7 +657,7 @@ func TestBatchSenderTimerResetNoConflict(t *testing.T) {
func TestBatchSenderTimerFlush(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
if runtime.GOOS == "windows" {
t.Skip("skipping flaky test on Windows, see https://github.com/open-telemetry/opentelemetry-collector/issues/10802")
}
Expand Down
19 changes: 10 additions & 9 deletions exporter/exporterhelper/internal/queue_sender_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,14 @@ import (
"go.opentelemetry.io/collector/exporter/exporterqueue"
"go.opentelemetry.io/collector/exporter/exportertest"
"go.opentelemetry.io/collector/exporter/internal/storagetest"
"go.opentelemetry.io/collector/featuregate/featuregatetest"
"go.opentelemetry.io/collector/pipeline"
)

func TestQueuedBatchStopWhileWaiting(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
qCfg := exporterqueue.NewDefaultConfig()
qCfg.NumConsumers = 1
be, err := newQueueBatchExporter(qCfg, exporterbatcher.Config{})
Expand All @@ -55,7 +56,7 @@ func TestQueuedBatchStopWhileWaiting(t *testing.T) {
func TestQueueBatchDoNotPreserveCancellation(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
qCfg := exporterqueue.NewDefaultConfig()
qCfg.NumConsumers = 1
be, err := newQueueBatchExporter(qCfg, exporterbatcher.Config{})
Expand Down Expand Up @@ -112,7 +113,7 @@ func TestQueueBatchHappyPath(t *testing.T) {
},
) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
be, err := newQueueBatchExporter(tt.qCfg, exporterbatcher.Config{})
require.NoError(t, err)

Expand Down Expand Up @@ -140,7 +141,7 @@ func TestQueueBatchHappyPath(t *testing.T) {
func TestQueueConfig_Validate(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
qCfg := NewDefaultQueueConfig()
require.NoError(t, qCfg.Validate())

Expand All @@ -165,7 +166,7 @@ func TestQueueConfig_Validate(t *testing.T) {
func TestQueueFailedRequestDropped(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
qSet := exporterqueue.Settings{
Signal: defaultSignal,
ExporterSettings: defaultSettings,
Expand All @@ -192,7 +193,7 @@ func TestQueueFailedRequestDropped(t *testing.T) {
func TestQueueBatchPersistenceEnabled(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
qSet := exporterqueue.Settings{
Signal: defaultSignal,
ExporterSettings: defaultSettings,
Expand Down Expand Up @@ -224,7 +225,7 @@ func TestQueueBatchPersistenceEnabled(t *testing.T) {
func TestQueueBatchPersistenceEnabledStorageError(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
storageError := errors.New("could not get storage client")

qSet := exporterqueue.Settings{
Expand Down Expand Up @@ -257,7 +258,7 @@ func TestQueueBatchPersistenceEnabledStorageError(t *testing.T) {
func TestQueueBatchPersistentEnabled_NoDataLossOnShutdown(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
qCfg := exporterqueue.NewDefaultConfig()
qCfg.NumConsumers = 1

Expand Down Expand Up @@ -325,7 +326,7 @@ func TestQueueBatchPersistentEnabled_NoDataLossOnShutdown(t *testing.T) {
func TestQueueBatchNoStartShutdown(t *testing.T) {
runTest := func(testName string, enableQueueBatcher bool) {
t.Run(testName, func(t *testing.T) {
setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
featuregatetest.SetGate(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
set := exportertest.NewNopSettings()
set.ID = exporterID
qSet := exporterqueue.Settings{
Expand Down
2 changes: 2 additions & 0 deletions exporter/exporterhelper/xexporterhelper/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,5 @@ replace go.opentelemetry.io/collector/extension/extensiontest => ../../../extens
replace go.opentelemetry.io/collector/featuregate => ../../../featuregate

replace go.opentelemetry.io/collector/extension/xextension => ../../../extension/xextension

replace go.opentelemetry.io/collector/featuregate/featuregatetest => ../../../featuregate/featuregatetest
2 changes: 2 additions & 0 deletions exporter/exportertest/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,5 @@ replace go.opentelemetry.io/collector/extension/extensiontest => ../../extension
replace go.opentelemetry.io/collector/featuregate => ../../featuregate

replace go.opentelemetry.io/collector/extension/xextension => ../../extension/xextension

replace go.opentelemetry.io/collector/featuregate/featuregatetest => ../../featuregate/featuregatetest
3 changes: 3 additions & 0 deletions exporter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ require (
go.opentelemetry.io/collector/extension/extensiontest v0.119.0
go.opentelemetry.io/collector/extension/xextension v0.119.0
go.opentelemetry.io/collector/featuregate v1.25.0
go.opentelemetry.io/collector/featuregate/featuregatetest v0.119.0
go.opentelemetry.io/collector/pdata v1.25.0
go.opentelemetry.io/collector/pdata/testdata v0.119.0
go.opentelemetry.io/collector/pipeline v0.119.0
Expand Down Expand Up @@ -97,3 +98,5 @@ replace go.opentelemetry.io/collector/extension/extensiontest => ../extension/ex
replace go.opentelemetry.io/collector/featuregate => ../featuregate

replace go.opentelemetry.io/collector/extension/xextension => ../extension/xextension

replace go.opentelemetry.io/collector/featuregate/featuregatetest => ../featuregate/featuregatetest
2 changes: 2 additions & 0 deletions exporter/nopexporter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,5 @@ replace go.opentelemetry.io/collector/extension/extensiontest => ../../extension
replace go.opentelemetry.io/collector/featuregate => ../../featuregate

replace go.opentelemetry.io/collector/extension/xextension => ../../extension/xextension

replace go.opentelemetry.io/collector/featuregate/featuregatetest => ../../featuregate/featuregatetest
2 changes: 2 additions & 0 deletions exporter/otlpexporter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -157,3 +157,5 @@ replace go.opentelemetry.io/collector/extension/auth/authtest => ../../extension
replace go.opentelemetry.io/collector/featuregate => ../../featuregate

replace go.opentelemetry.io/collector/extension/xextension => ../../extension/xextension

replace go.opentelemetry.io/collector/featuregate/featuregatetest => ../../featuregate/featuregatetest
2 changes: 2 additions & 0 deletions exporter/otlphttpexporter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -155,3 +155,5 @@ replace go.opentelemetry.io/collector/extension/auth/authtest => ../../extension
replace go.opentelemetry.io/collector/featuregate => ../../featuregate

replace go.opentelemetry.io/collector/extension/xextension => ../../extension/xextension

replace go.opentelemetry.io/collector/featuregate/featuregatetest => ../../featuregate/featuregatetest
2 changes: 2 additions & 0 deletions exporter/xexporter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,5 @@ replace go.opentelemetry.io/collector/extension/extensiontest => ../../extension
replace go.opentelemetry.io/collector/featuregate => ../../featuregate

replace go.opentelemetry.io/collector/extension/xextension => ../../extension/xextension

replace go.opentelemetry.io/collector/featuregate/featuregatetest => ../../featuregate/featuregatetest
1 change: 1 addition & 0 deletions featuregate/featuregatetest/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include ../../Makefile.Common
19 changes: 19 additions & 0 deletions featuregate/featuregatetest/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
module go.opentelemetry.io/collector/featuregate/featuregatetest

go 1.23.0

require (
go.opentelemetry.io/collector/featuregate v1.25.0
github.com/stretchr/testify v1.10.0
)

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/rogpeppe/go-internal v1.10.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

replace go.opentelemetry.io/collector/featuregate => ../
Loading

0 comments on commit 0e048eb

Please sign in to comment.