diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-03-29 15:02:10 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-04-09 07:55:50 +0000 |
| commit | 1be1a06281dccada078a2a51e8b483811af8f596 (patch) | |
| tree | 6340df1c2d1704f1784ba63164d3088b7c91ef61 /pkg/fuzzer/fuzzer_test.go | |
| parent | 73f4b622a34ffc998a542f5e109fb05a1d892272 (diff) | |
all: refactor stats
Add ability for each package to create and export own stats.
Each stat is self-contained, describes how it should be presented,
and there is not need to copy them from one package to another.
Stats also keep historical data and allow building graphs over time.
Diffstat (limited to 'pkg/fuzzer/fuzzer_test.go')
| -rw-r--r-- | pkg/fuzzer/fuzzer_test.go | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/pkg/fuzzer/fuzzer_test.go b/pkg/fuzzer/fuzzer_test.go index 0f7a0ae58..87068064f 100644 --- a/pkg/fuzzer/fuzzer_test.go +++ b/pkg/fuzzer/fuzzer_test.go @@ -159,15 +159,13 @@ func TestRotate(t *testing.T) { }) fuzzer.Cover.AddMaxSignal(fakeSignal(1000)) - stats := fuzzer.Stats() - assert.Equal(t, 1000, stats.MaxSignal) - assert.Equal(t, 100, stats.Signal) + assert.Equal(t, 1000, len(fuzzer.Cover.maxSignal)) + assert.Equal(t, 100, corpusObj.StatSignal.Val()) // Rotate some of the signal. fuzzer.RotateMaxSignal(200) - stats = fuzzer.Stats() - assert.Equal(t, 800, stats.MaxSignal) - assert.Equal(t, 100, stats.Signal) + assert.Equal(t, 800, len(fuzzer.Cover.maxSignal)) + assert.Equal(t, 100, corpusObj.StatSignal.Val()) plus, minus := fuzzer.Cover.GrabSignalDelta() assert.Equal(t, 0, plus.Len()) @@ -175,9 +173,8 @@ func TestRotate(t *testing.T) { // Rotate the rest. fuzzer.RotateMaxSignal(1000) - stats = fuzzer.Stats() - assert.Equal(t, 100, stats.MaxSignal) - assert.Equal(t, 100, stats.Signal) + assert.Equal(t, 100, len(fuzzer.Cover.maxSignal)) + assert.Equal(t, 100, corpusObj.StatSignal.Val()) plus, minus = fuzzer.Cover.GrabSignalDelta() assert.Equal(t, 0, plus.Len()) assert.Equal(t, 700, minus.Len()) @@ -230,9 +227,9 @@ func (f *testFuzzer) oneMore() bool { defer f.mu.Unlock() f.iter++ if f.iter%100 == 0 { - stat := f.fuzzer.Stats() f.t.Logf("<iter %d>: corpus %d, signal %d, max signal %d, crash types %d, running jobs %d", - f.iter, stat.Progs, stat.Signal, stat.MaxSignal, len(f.crashes), stat.RunningJobs) + f.iter, f.fuzzer.Config.Corpus.StatProgs.Val(), f.fuzzer.Config.Corpus.StatSignal.Val(), + len(f.fuzzer.Cover.maxSignal), len(f.crashes), f.fuzzer.statJobs.Val()) } return f.iter < f.iterLimit && (f.expectedCrashes == nil || len(f.crashes) != len(f.expectedCrashes)) |
