github.com/c3pm-labs/c3pm@v0.3.0/ctpm/test.go (about) 1 package ctpm 2 3 import ( 4 "errors" 5 "fmt" 6 "github.com/c3pm-labs/c3pm/adapter" 7 "github.com/c3pm-labs/c3pm/adapter_interface" 8 "github.com/c3pm-labs/c3pm/config" 9 ) 10 11 func Test(pc *config.ProjectConfig) error { 12 getter := adapter.AdapterGetterImp{} 13 adp, err := getter.FromPC(pc.Manifest.Build.Adapter) 14 if err != nil { 15 return err 16 } 17 adpt, ok := adp.(adapter_interface.AdapterTestable) 18 if !ok { 19 return errors.New("Adapter does not support testing") 20 } 21 return adpt.Test(pc) 22 } 23 24 func AddDependenciesAndTest(pc *config.ProjectConfig) error { 25 pc.Manifest.Dependencies = pc.Manifest.Dependencies.Append(pc.Manifest.TestDependencies) 26 err := addAllDependencies(pc) 27 if err != nil { 28 return fmt.Errorf("error installing dependencies: %w", err) 29 } 30 err = Test(pc) 31 if err != nil { 32 return fmt.Errorf("build failed: %w", err) 33 } 34 return nil 35 }