54 lines
915 B
Go
54 lines
915 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"sync"
|
|
)
|
|
|
|
type manager struct {
|
|
Config
|
|
|
|
Tests []Result
|
|
Result *TestCase
|
|
DB mysql_db
|
|
}
|
|
|
|
type Config struct {
|
|
Cameradar Service `json:"Cameradar"`
|
|
|
|
Output string
|
|
}
|
|
|
|
func (m *manager) Init() bool {
|
|
fmt.Println("- Parsing")
|
|
if !m.parseConfig() {
|
|
return false
|
|
}
|
|
|
|
fmt.Println("- Cleaning content")
|
|
killService(&m.Config.Cameradar)
|
|
|
|
return true
|
|
}
|
|
|
|
func (m *manager) Run() bool {
|
|
var wg sync.WaitGroup
|
|
|
|
fmt.Println("\n- Launching all tests")
|
|
var newTest = new(TestCase)
|
|
newTest.expected = m.Tests
|
|
if (m.generateConfig(m.Tests, &m.DB)) {
|
|
m.dropDB()
|
|
wg.Add(1)
|
|
go m.invokeTestCase(newTest, &wg)
|
|
m.Result = newTest
|
|
}
|
|
wg.Wait()
|
|
fmt.Printf("All tests completed\n")
|
|
return true
|
|
}
|
|
|
|
func (m *manager) Stop() bool {
|
|
killService(&m.Config.Cameradar)
|
|
return true
|
|
} |