syzkaller/pkg/report/windows.go
Dmitry Vyukov 29b0fd90e6 pkg/report: include Maintainers into report
Currently getting a complete report requires a complex,
multi-step dance (including getting information that
external users are not interested in -- guilty file).

Simplify interface down to 2 functions: Parse and Symbolize.
Parse does what it did before, Symbolize symbolizes report
and fills in maintainers. This simplifies both implementations
of Reporter interface and all users of the interface.

Potentially we could get this down to 1 function Parse
that does everything. However, (1) Symbolize can fail,
while Parse cannot, (2) usually we want to ignore (log)
Symbolize errors, but otherwise proceed with the report,
(3) repro does not need symbolization for all but the
last report.
2017-11-29 18:24:30 +01:00

41 lines
891 B
Go

// Copyright 2017 syzkaller project authors. All rights reserved.
// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
package report
import (
"regexp"
"github.com/google/syzkaller/pkg/symbolizer"
)
type windows struct {
kernelSrc string
kernelObj string
symbols map[string][]symbolizer.Symbol
ignores []*regexp.Regexp
}
func ctorWindows(kernelSrc, kernelObj string, symbols map[string][]symbolizer.Symbol,
ignores []*regexp.Regexp) (Reporter, error) {
ctx := &windows{
kernelSrc: kernelSrc,
kernelObj: kernelObj,
symbols: symbols,
ignores: ignores,
}
return ctx, nil
}
func (ctx *windows) ContainsCrash(output []byte) bool {
panic("not implemented")
}
func (ctx *windows) Parse(output []byte) *Report {
panic("not implemented")
}
func (ctx *windows) Symbolize(rep *Report) error {
panic("not implemented")
}