aboutsummaryrefslogtreecommitdiffstats
path: root/tools/syz-testbed/testbed.go
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2021-11-25 17:55:58 +0000
committerAleksandr Nogikh <wp32pw@gmail.com>2021-12-06 14:29:36 +0100
commit9fca97cadd2e63056f40e69d80ca1e798b2a18e8 (patch)
tree6e6ae13406cd08aa46785cfdea86c6b00ae5465e /tools/syz-testbed/testbed.go
parent1ba1043eb4dc79008b7138f2fc04e136e2f796a3 (diff)
tools/syz-testbed: introduce a special type for table
This simplifies table generation and will let us more easily implement relative difference and p-value calculation and printing.
Diffstat (limited to 'tools/syz-testbed/testbed.go')
-rw-r--r--tools/syz-testbed/testbed.go20
1 files changed, 8 insertions, 12 deletions
diff --git a/tools/syz-testbed/testbed.go b/tools/syz-testbed/testbed.go
index dee9ffc73..192784763 100644
--- a/tools/syz-testbed/testbed.go
+++ b/tools/syz-testbed/testbed.go
@@ -163,8 +163,7 @@ func (ctx *TestbedContext) saveStatView(view StatView) error {
if err != nil {
return fmt.Errorf("failed to create %s: %s", benchDir, err)
}
-
- tableStats := map[string]func(view StatView) ([][]string, error){
+ tableStats := map[string]func(view StatView) (*Table, error){
"bugs.csv": (StatView).GenerateBugTable,
"checkout_stats.csv": (StatView).StatsTable,
"instance_stats.csv": (StatView).InstanceStatsTable,
@@ -172,30 +171,27 @@ func (ctx *TestbedContext) saveStatView(view StatView) error {
for fileName, genFunc := range tableStats {
table, err := genFunc(view)
if err == nil {
- SaveTableAsCsv(table, filepath.Join(dir, fileName))
+ table.SaveAsCsv(filepath.Join(dir, fileName))
} else {
- log.Printf("some error: %s", err)
+ log.Printf("stat generation error: %s", err)
}
}
_, err = view.SaveAvgBenches(benchDir)
return err
}
-func (ctx *TestbedContext) TestbedStatsTable() [][]string {
- table := [][]string{
- {"Checkout", "Running", "Completed", "Until reset"},
- }
+func (ctx *TestbedContext) TestbedStatsTable() *Table {
+ table := NewTable("Checkout", "Running", "Completed", "Until reset")
for _, checkout := range ctx.Checkouts {
until := "-"
if ctx.NextRestart.After(time.Now()) {
until = time.Until(ctx.NextRestart).Round(time.Second).String()
}
- table = append(table, []string{
- checkout.Name,
+ table.AddRow(checkout.Name,
fmt.Sprintf("%d", len(checkout.Running)),
fmt.Sprintf("%d", len(checkout.Completed)),
until,
- })
+ )
}
return table
}
@@ -215,7 +211,7 @@ func (ctx *TestbedContext) SaveStats() error {
}
}
table := ctx.TestbedStatsTable()
- return SaveTableAsCsv(table, filepath.Join(ctx.Config.Workdir, "testbed.csv"))
+ return table.SaveAsCsv(filepath.Join(ctx.Config.Workdir, "testbed.csv"))
}
func (ctx *TestbedContext) generateInstances(count int) ([]*Instance, error) {