// NewEmpire returns a new Empire instance suitable for testing. It ensures that // the database is clean before returning. func NewEmpire(t testing.TB) *empire.Empire { db, err := empire.OpenDB(DatabaseURL) if err != nil { t.Fatal(err) } if err := db.MigrateUp(); err != nil { t.Fatal(err) } // Log queries if verbose mode is set. if testing.Verbose() { db.Debug() } e := empire.New(db) e.Scheduler = scheduler.NewFakeScheduler() e.ProcfileExtractor = ExtractProcfile(nil) e.RunRecorder = empire.RecordTo(ioutil.Discard) if err := e.Reset(); err != nil { t.Fatal(err) } return e }
func newRunRecorder(c *Context) (empire.RunRecorder, error) { backend := c.String(FlagRunLogsBackend) switch backend { case "cloudwatch": group := c.String(FlagCloudWatchLogGroup) log.Println("Using CloudWatch run logs backend with the following configuration:") log.Println(fmt.Sprintf(" LogGroup: %s", group)) return empire.RecordToCloudWatch(group, c), nil case "stdout": log.Println("Using Stdout run logs backend") return empire.RecordTo(os.Stdout), nil default: panic(fmt.Sprintf("unknown run logs backend: %v", backend)) } }