本文整理汇总了Golang中go/ast.BinaryExpr.Op方法的典型用法代码示例。如果您正苦于以下问题:Golang BinaryExpr.Op方法的具体用法?Golang BinaryExpr.Op怎么用?Golang BinaryExpr.Op使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类go/ast.BinaryExpr
的用法示例。
在下文中一共展示了BinaryExpr.Op方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: RunMutation
func RunMutation(index int, exp *ast.BinaryExpr, f, t token.Token, src string, fset *token.FileSet, file *ast.File) error {
exp.Op = t
defer func() {
exp.Op = f
}()
err := printFile(src, fset, file)
if err != nil {
return err
}
cmd := exec.Command("go", "test")
cmd.Dir = filepath.Dir(src)
output, err := cmd.CombinedOutput()
if err == nil {
code = 1
log.Printf("mutation %d failed to break any tests", index)
} else if _, ok := err.(*exec.ExitError); ok {
lines := bytes.Split(output, []byte("\n"))
lastLine := lines[len(lines)-2]
if bytes.HasPrefix(lastLine, []byte("FAIL")) {
log.Printf("mutation %d failed the tests properly", index)
} else {
log.Printf("mutation %d created an error: %s", index, lastLine)
}
} else {
return fmt.Errorf("mutation %d failed to run: %s", index, err)
}
return nil
}