diff options
Diffstat (limited to 'runner.go')
| -rw-r--r-- | runner.go | 32 | 
1 files changed, 23 insertions, 9 deletions
| @@ -8,7 +8,7 @@ import (  type Runner struct {    adapters    []Adapter -  DirConfig +  dirs        DirConfig  }  func (r *Runner) RegisterAdapter(a Adapter) { @@ -47,7 +47,7 @@ func (r Runner) checkConfig(tcs []TestCase) {  func (r Runner) setupEnv(adapter Adapter) {    nm := adapter.Config().Name -  wd := path.Join(r.BuildDir(), nm) +  wd := path.Join(r.dirs.Build(), nm)    if !directoryExists(wd) {      if err := os.Mkdir(wd, 0755); err != nil { @@ -70,18 +70,26 @@ func (r Runner) build(tcs []TestCase) {      adapter.Build(tcTab[nm])    } -  safeCd(r.ConfigDir()) +  safeCd(r.dirs.Config()) +} + +func (r Runner) init_adapters() { +  for _, adapter := range r.adapters { +    adapter.Init(r.dirs) +  }  }  func (r Runner) units() []TestCase { -  return collectUnits(r.RubricDir(), r.adapterCfgs()) +  return collectUnits(r.dirs.Rubric(), r.adapterCfgs())  }  func (r Runner) Build() { -  units := r.units()  +  r.init_adapters() -  if !directoryExists(r.BuildDir()) { -    r.MkBuildDir() +  units := r.units() + +  if !directoryExists(r.dirs.Build()) { +    r.dirs.MkBuild()    }    r.build(units) @@ -97,10 +105,12 @@ func (r Runner) evaluate(tcs []TestCase) {      adapter.Evaluate(tcTab[nm])    } -  safeCd(r.ConfigDir()) +  safeCd(r.dirs.Config())  }  func (r Runner) Evaluate() []TestCase { +  r.init_adapters() +    units := r.units()    r.evaluate(units) @@ -109,5 +119,9 @@ func (r Runner) Evaluate() []TestCase {  }  func (r Runner) Clean() { -  r.CleanBuildDir() +  r.dirs.CleanBuild() +} + +func (r * Runner) SetConfigDirFromTree(childPath string) { +  r.dirs.SetConfigFromTree(childPath)  } | 
