1
0

fix: correct success rate

This commit is contained in:
dump_stack() 2023-05-25 10:02:45 +00:00
parent 10c5fb7ac4
commit 6db5ffc8c2
Signed by: dump_stack
GPG Key ID: BE44DA8C062D87DC

53
pew.go
View File

@ -353,13 +353,11 @@ func testKernelExploit(q *qemu.System, ka config.Artifact,
} }
func genOkFail(name string, ok bool) (aurv aurora.Value) { func genOkFail(name string, ok bool) (aurv aurora.Value) {
state.Overall += 1
s := " " + name s := " " + name
if name == "" { if name == "" {
s = "" s = ""
} }
if ok { if ok {
state.Success += 1
s += " SUCCESS " s += " SUCCESS "
aurv = aurora.BgGreen(aurora.Black(s)) aurv = aurora.BgGreen(aurora.Black(s))
} else { } else {
@ -410,32 +408,37 @@ func dumpResult(q *qemu.System, ka config.Artifact, ki distro.KernelInfo,
Str("timeout", fmt.Sprintf("%v", q.KilledByTimeout)). Str("timeout", fmt.Sprintf("%v", q.KilledByTimeout)).
Msg("internal") Msg("internal")
res.InternalErrorString = res.InternalError.Error() res.InternalErrorString = res.InternalError.Error()
} } else {
colored := ""
colored := "" state.Overall += 1
switch ka.Type {
case config.KernelExploit:
colored = aurora.Sprintf("%s %s",
genOkFail("BUILD", res.Build.Ok),
genOkFail("LPE", res.Test.Ok))
case config.KernelModule:
colored = aurora.Sprintf("%s %s %s",
genOkFail("BUILD", res.Build.Ok),
genOkFail("INSMOD", res.Run.Ok),
genOkFail("TEST", res.Test.Ok))
case config.Script:
colored = aurora.Sprintf("%s",
genOkFail("", res.Test.Ok))
}
additional := "" if res.Test.Ok {
if q.KernelPanic { state.Success += 1
additional = "(panic)" }
} else if q.KilledByTimeout {
additional = "(timeout)" switch ka.Type {
} case config.KernelExploit:
colored = aurora.Sprintf("%s %s",
genOkFail("BUILD", res.Build.Ok),
genOkFail("LPE", res.Test.Ok))
case config.KernelModule:
colored = aurora.Sprintf("%s %s %s",
genOkFail("BUILD", res.Build.Ok),
genOkFail("INSMOD", res.Run.Ok),
genOkFail("TEST", res.Test.Ok))
case config.Script:
colored = aurora.Sprintf("%s",
genOkFail("", res.Test.Ok))
}
additional := ""
if q.KernelPanic {
additional = "(panic)"
} else if q.KilledByTimeout {
additional = "(timeout)"
}
if res.InternalError == nil {
if additional != "" { if additional != "" {
q.Log.Info().Msgf("%v %v", colored, additional) q.Log.Info().Msgf("%v %v", colored, additional)
} else { } else {