github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/core/test/run.go (about)

     1  package cmdtest
     2  
     3  import (
     4  	"github.com/lmorg/murex/lang"
     5  )
     6  
     7  func testRun(p *lang.Process) error {
     8  	r, err := p.Parameters.Block(1)
     9  	if err == nil {
    10  		return testRunBlock(p, r)
    11  	}
    12  
    13  	return testUnitRun(p)
    14  }
    15  
    16  func testRunBlock(p *lang.Process, block []rune) error {
    17  	fork := p.Fork(lang.F_FUNCTION)
    18  	fork.Name.Set("(test run)")
    19  
    20  	err := fork.Config.Set("test", "enabled", true, p.FileRef)
    21  	if err != nil {
    22  		return err
    23  	}
    24  
    25  	err = fork.Config.Set("test", "auto-report", false, p.FileRef)
    26  	if err != nil {
    27  		return err
    28  	}
    29  
    30  	_, err = fork.Execute(block)
    31  	if err != nil {
    32  		return err
    33  	}
    34  
    35  	return p.Tests.WriteResults(p.Config, p.Stdout)
    36  }