fix config_test to run in any order. (#1194)
- fixes #1193
diff --git a/trace/config_test.go b/trace/config_test.go
index 547b817..1811230 100644
--- a/trace/config_test.go
+++ b/trace/config_test.go
@@ -20,69 +20,89 @@
)
func TestApplyConfig(t *testing.T) {
- testCfgs := []Config{
- {},
- {
- MaxAttributesPerSpan: 1,
- MaxAnnotationEventsPerSpan: 2,
- MaxMessageEventsPerSpan: 3,
- MaxLinksPerSpan: 4,
- },
- {
- MaxAttributesPerSpan: -1,
- MaxAnnotationEventsPerSpan: 3,
- MaxMessageEventsPerSpan: -3,
- MaxLinksPerSpan: 5,
- }}
cfg := config.Load().(*Config)
- wantCfgs := []Config{
+ defaultCfg := Config{
+ DefaultSampler: cfg.DefaultSampler,
+ IDGenerator: cfg.IDGenerator,
+ MaxAttributesPerSpan: DefaultMaxAttributesPerSpan,
+ MaxAnnotationEventsPerSpan: DefaultMaxAnnotationEventsPerSpan,
+ MaxMessageEventsPerSpan: DefaultMaxMessageEventsPerSpan,
+ MaxLinksPerSpan: DefaultMaxLinksPerSpan,
+ }
+ testCases := []struct {
+ name string
+ newCfg Config
+ wantCfg Config
+ }{
{
- DefaultSampler: cfg.DefaultSampler,
- IDGenerator: cfg.IDGenerator,
- MaxAttributesPerSpan: DefaultMaxAttributesPerSpan,
- MaxAnnotationEventsPerSpan: DefaultMaxAnnotationEventsPerSpan,
- MaxMessageEventsPerSpan: DefaultMaxMessageEventsPerSpan,
- MaxLinksPerSpan: DefaultMaxLinksPerSpan,
+ name: "Initialize to default config",
+ newCfg: defaultCfg,
+ wantCfg: defaultCfg,
},
{
- DefaultSampler: cfg.DefaultSampler,
- IDGenerator: cfg.IDGenerator,
- MaxAttributesPerSpan: 1,
- MaxAnnotationEventsPerSpan: 2,
- MaxMessageEventsPerSpan: 3,
- MaxLinksPerSpan: 4,
+ name: "Empty Config",
+ newCfg: Config{},
+ wantCfg: defaultCfg,
},
{
- DefaultSampler: cfg.DefaultSampler,
- IDGenerator: cfg.IDGenerator,
- MaxAttributesPerSpan: 1,
- MaxAnnotationEventsPerSpan: 3,
- MaxMessageEventsPerSpan: 3,
- MaxLinksPerSpan: 5,
- }}
+ name: "Valid non-default config",
+ newCfg: Config{
+ MaxAttributesPerSpan: 1,
+ MaxAnnotationEventsPerSpan: 2,
+ MaxMessageEventsPerSpan: 3,
+ MaxLinksPerSpan: 4,
+ },
+ wantCfg: Config{
+ DefaultSampler: cfg.DefaultSampler,
+ IDGenerator: cfg.IDGenerator,
+ MaxAttributesPerSpan: 1,
+ MaxAnnotationEventsPerSpan: 2,
+ MaxMessageEventsPerSpan: 3,
+ MaxLinksPerSpan: 4,
+ },
+ },
+ {
+ name: "Partially invalid config",
+ newCfg: Config{
+ MaxAttributesPerSpan: -1,
+ MaxAnnotationEventsPerSpan: 3,
+ MaxMessageEventsPerSpan: -3,
+ MaxLinksPerSpan: 5,
+ },
+ wantCfg: Config{
+ DefaultSampler: cfg.DefaultSampler,
+ IDGenerator: cfg.IDGenerator,
+ MaxAttributesPerSpan: 1,
+ MaxAnnotationEventsPerSpan: 3,
+ MaxMessageEventsPerSpan: 3,
+ MaxLinksPerSpan: 5,
+ },
+ },
+ }
- for i, newCfg := range testCfgs {
+ for i, tt := range testCases {
+ newCfg := tt.newCfg
ApplyConfig(newCfg)
gotCfg := config.Load().(*Config)
- wantCfg := wantCfgs[i]
+ wantCfg := tt.wantCfg
if got, want := reflect.ValueOf(gotCfg.DefaultSampler).Pointer(), reflect.ValueOf(wantCfg.DefaultSampler).Pointer(); got != want {
- t.Fatalf("testId = %d config.DefaultSampler = %#v; want %#v", i, got, want)
+ t.Fatalf("testId = %d, testName = %s: config.DefaultSampler = %#v; want %#v", i, tt.name, got, want)
}
if got, want := gotCfg.IDGenerator, wantCfg.IDGenerator; got != want {
- t.Fatalf("testId = %d config.IDGenerator = %#v; want %#v", i, got, want)
+ t.Fatalf("testId = %d, testName = %s: config.IDGenerator = %#v; want %#v", i, tt.name, got, want)
}
if got, want := gotCfg.MaxAttributesPerSpan, wantCfg.MaxAttributesPerSpan; got != want {
- t.Fatalf("testId = %d config.MaxAttributesPerSpan = %#v; want %#v", i, got, want)
+ t.Fatalf("testId = %d, testName = %s: config.MaxAttributesPerSpan = %#v; want %#v", i, tt.name, got, want)
}
if got, want := gotCfg.MaxLinksPerSpan, wantCfg.MaxLinksPerSpan; got != want {
- t.Fatalf("testId = %d config.MaxLinksPerSpan = %#v; want %#v", i, got, want)
+ t.Fatalf("testId = %d, testName = %s: config.MaxLinksPerSpan = %#v; want %#v", i, tt.name, got, want)
}
if got, want := gotCfg.MaxAnnotationEventsPerSpan, wantCfg.MaxAnnotationEventsPerSpan; got != want {
- t.Fatalf("testId = %d config.MaxAnnotationEventsPerSpan = %#v; want %#v", i, got, want)
+ t.Fatalf("testId = %d, testName = %s: config.MaxAnnotationEventsPerSpan = %#v; want %#v", i, tt.name, got, want)
}
if got, want := gotCfg.MaxMessageEventsPerSpan, wantCfg.MaxMessageEventsPerSpan; got != want {
- t.Fatalf("testId = %d config.MaxMessageEventsPerSpan = %#v; want %#v", i, got, want)
+ t.Fatalf("testId = %d, testName = %s: config.MaxMessageEventsPerSpan = %#v; want %#v", i, tt.name, got, want)
}
}