github.com/thriqon/involucro@v1.1.3/integrationtest/util_test.go (about)

     1  package integrationtest
     2  
     3  import (
     4  	"runtime/debug"
     5  	"testing"
     6  
     7  	"github.com/involucro/involucro/app"
     8  	"github.com/involucro/involucro/ilog"
     9  )
    10  
    11  func assertStdoutContainsFlag(args []string, lineFlag string, t *testing.T) {
    12  	oldPrint := ilog.StdLog.PrintFunc()
    13  	defer ilog.StdLog.SetPrintFunc(oldPrint)
    14  
    15  	args = append([]string{"involucro", "-v=2"}, args...)
    16  
    17  	var found bool
    18  	ilog.StdLog.SetPrintFunc(func(b ilog.Bough) {
    19  		if testing.Verbose() && oldPrint != nil {
    20  			oldPrint(b)
    21  		}
    22  		if b.Prefix == "SOUT" && b.Message == lineFlag {
    23  			found = true
    24  		}
    25  	})
    26  
    27  	if err := app.Main(args); err != nil {
    28  		debug.PrintStack()
    29  		t.Fatal(err)
    30  	}
    31  
    32  	if !found {
    33  		t.Error("Did not find expected flag", lineFlag)
    34  	}
    35  }