diff options
author | Flu0r1ne <flur01ne@flu0r1ne.net> | 2021-08-03 02:02:40 -0500 |
---|---|---|
committer | Flu0r1ne <flur01ne@flu0r1ne.net> | 2021-08-03 02:02:40 -0500 |
commit | a0b020a78eb0b33965c59460fc093c6959216e44 (patch) | |
tree | 3b2722388ea6b312e927b6066b0831524ba4ed6b /adapters | |
download | deb-planr-a0b020a78eb0b33965c59460fc093c6959216e44.tar.xz deb-planr-a0b020a78eb0b33965c59460fc093c6959216e44.zip |
Initial commit with basic build structure
Diffstat (limited to 'adapters')
-rw-r--r-- | adapters/gtest_adapter.go | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/adapters/gtest_adapter.go b/adapters/gtest_adapter.go new file mode 100644 index 0000000..4cbaa9c --- /dev/null +++ b/adapters/gtest_adapter.go @@ -0,0 +1,97 @@ +package adapters + +import ( + "fmt" + "github.com/BurntSushi/toml" + "golang.flu0r1ne.net/planr" + "log" +) + +/* + CONFIGURATION +*/ + +type GtestDefaults struct { + Name *string + Suite *string + File *string +} + +func (child *GtestDefaults) Inherit(p interface{}) { + parent := p.(*GtestDefaults) + + if(child.Name == nil) { + child.Name = parent.Name + } + + if(child.Suite == nil) { + child.Suite = parent.Suite + } + + if(child.File == nil) { + child.File = parent.File + } +} + + +type GtestConfig struct { + GtestDefaults +} + +func primitiveDecode(primitive toml.Primitive, config interface{}) { + if err := toml.PrimitiveDecode(primitive, config); err != nil { + log.Fatal(err) + } +} + +func ParseConfig(prim toml.Primitive) planr.InheritableConfig { + config := GtestConfig{} + + primitiveDecode(prim, &config) + + return &config +} + +func ParseDefaultConfig(prim toml.Primitive) planr.InheritableConfig { + config := GtestDefaults{} + + primitiveDecode(prim, &config) + + return &config +} + +/* + BUILD PROCESS +*/ + +type GtestAdapter struct {} + +func (a GtestAdapter) Config() planr.AdapterConfig { + return planr.AdapterConfig { + Name: "gtest", + ParseConfig: ParseConfig, + ParseDefaultConfig: ParseDefaultConfig, + } +} + +func (a GtestAdapter) InitializeBuild() { + fmt.Println("Initializing"); +} + +func (a GtestAdapter) Build(tc planr.TestCase) { + fmt.Printf("Building %v\n", tc); +} + +func (a GtestAdapter) FinalizeBuild() { + fmt.Println("Finalizing"); +} + +func (a GtestAdapter) Evaluate(tc planr.TestCase) planr.TestResult { + fmt.Printf("Evaluating %v\n", tc); + + return planr.TestResult {} +} + +func (a GtestAdapter) Cleanup() { + fmt.Printf("Cleaning\n") +} |