Skip to content

Commit

Permalink
profiler: make tests more consistent (DataDog#599)
Browse files Browse the repository at this point in the history
  • Loading branch information
gbbr authored and mingrammer committed Dec 22, 2020
1 parent d2ecf31 commit 00b1600
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 26 deletions.
14 changes: 8 additions & 6 deletions profiler/options_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,22 +72,24 @@ func TestDefaultConfig(t *testing.T) {

func TestAddProfileType(t *testing.T) {
t.Run("default", func(t *testing.T) {
assert := assert.New(t)
cfg := defaultConfig()
_, ok := cfg.types[MutexProfile]
assert.False(t, ok)
assert.False(ok)
n := len(cfg.types)
cfg.addProfileType(MutexProfile)
assert.Len(t, cfg.types, n+1)
assert.Len(cfg.types, n+1)
_, ok = cfg.types[MutexProfile]
assert.True(t, ok)
assert.True(ok)
})

t.Run("nil", func(t *testing.T) {
var cfg config
assert.Nil(t, cfg.types)
assert := assert.New(t)
assert.Nil(cfg.types)
cfg.addProfileType(MutexProfile)
assert.Len(t, cfg.types, 1)
assert.Len(cfg.types, 1)
_, ok := cfg.types[MutexProfile]
assert.True(t, ok)
assert.True(ok)
})
}
37 changes: 20 additions & 17 deletions profiler/profiler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,18 @@ func TestStart(t *testing.T) {

mu.Lock()
require.NotNil(t, activeProfiler)
assert := assert.New(t)
if host, err := os.Hostname(); err != nil {
assert.Equal(t, host, activeProfiler.cfg.hostname)
assert.Equal(host, activeProfiler.cfg.hostname)
}
assert.Equal(t, defaultAPIURL, activeProfiler.cfg.apiURL)
assert.Equal(t, DefaultPeriod, activeProfiler.cfg.period)
assert.Equal(t, len(defaultProfileTypes), len(activeProfiler.cfg.types))
assert.Equal(defaultAPIURL, activeProfiler.cfg.apiURL)
assert.Equal(DefaultPeriod, activeProfiler.cfg.period)
assert.Equal(len(defaultProfileTypes), len(activeProfiler.cfg.types))
for _, pt := range defaultProfileTypes {
_, ok := activeProfiler.cfg.types[pt]
assert.True(t, ok)
assert.True(ok)
}
assert.Equal(t, DefaultDuration, activeProfiler.cfg.cpuDuration)
assert.Equal(DefaultDuration, activeProfiler.cfg.cpuDuration)
mu.Unlock()
})

Expand Down Expand Up @@ -149,18 +150,19 @@ func TestProfilerInternal(t *testing.T) {
t.Fatalf("missing batch")
}

assert.EqualValues(t, 1, writeHeap)
assert.EqualValues(t, 1, startCPU)
assert.EqualValues(t, 1, stopCPU)
assert := assert.New(t)
assert.EqualValues(1, writeHeap)
assert.EqualValues(1, startCPU)
assert.EqualValues(1, stopCPU)

assert.Equal(t, 2, len(bat.profiles))
assert.Equal(2, len(bat.profiles))
firstTypes := []string{
bat.profiles[0].types[0],
bat.profiles[1].types[0],
}
sort.Strings(firstTypes)
assert.Equal(t, "alloc_objects", firstTypes[0])
assert.Equal(t, "samples", firstTypes[1])
assert.Equal("alloc_objects", firstTypes[0])
assert.Equal("samples", firstTypes[1])

p.exit <- struct{}{}
<-wait
Expand Down Expand Up @@ -210,16 +212,17 @@ func TestProfilerPassthrough(t *testing.T) {
t.Fatal("time expired")
}

assert.Equal(t, 2, len(bat.profiles))
assert := assert.New(t)
assert.Equal(2, len(bat.profiles))
firstTypes := []string{
bat.profiles[0].types[0],
bat.profiles[1].types[0],
}
sort.Strings(firstTypes)
assert.Equal(t, "alloc_objects", firstTypes[0])
assert.Equal(t, "samples", firstTypes[1])
assert.NotEmpty(t, bat.profiles[0].data)
assert.NotEmpty(t, bat.profiles[1].data)
assert.Equal("alloc_objects", firstTypes[0])
assert.Equal("samples", firstTypes[1])
assert.NotEmpty(bat.profiles[0].data)
assert.NotEmpty(bat.profiles[1].data)
}

func unstartedProfiler(opts ...Option) *profiler {
Expand Down
7 changes: 4 additions & 3 deletions profiler/upload_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ func TestTryUpload(t *testing.T) {
t.Fatal("timeout")
}

assert.ElementsMatch(t, []string{
assert := assert.New(t)
assert.ElementsMatch([]string{
"host:my-host",
"runtime:go",
"service:my-service",
Expand All @@ -104,11 +105,11 @@ func TestTryUpload(t *testing.T) {
"types[1]": "alloc_objects,alloc_space",
"data[1]": "my-heap-profile",
} {
assert.Equal(t, v, fields[k], k)
assert.Equal(v, fields[k], k)
}
for _, k := range []string{"recording-start", "recording-end"} {
_, ok := fields[k]
assert.True(t, ok, k)
assert.True(ok, k)
}
}

Expand Down

0 comments on commit 00b1600

Please sign in to comment.