func main() { defer common.LogPanic() // Calls flag.Parse() common.InitWithMetrics("fuzzer", graphiteServer) if err := writeFlagsToConfig(); err != nil { glog.Fatalf("Problem with configuration: %s", err) } Init() if err := setupOAuth(); err != nil { glog.Fatal(err) } go func() { if err := fcommon.DownloadSkiaVersionForFuzzing(storageClient, config.FrontEnd.SkiaRoot, &config.FrontEnd); err != nil { glog.Fatalf("Problem downloading Skia: %s", err) } fuzzSyncer = syncer.New(storageClient) fuzzSyncer.Start() cache, err := fuzzcache.New(config.FrontEnd.BoltDBPath) if err != nil { glog.Fatalf("Could not create fuzz report cache at %s: %s", config.FrontEnd.BoltDBPath, err) } defer util.Close(cache) if err := gsloader.LoadFromBoltDB(cache); err != nil { glog.Errorf("Could not load from boltdb. Loading from source of truth anyway. %s", err) } var finder functionnamefinder.Finder if !*local { finder = functionnamefinder.NewAsync() } gsLoader := gsloader.New(storageClient, finder, cache) if err := gsLoader.LoadFreshFromGoogleStorage(); err != nil { glog.Fatalf("Error loading in data from GCS: %s", err) } fuzzSyncer.SetGSLoader(gsLoader) updater := frontend.NewVersionUpdater(gsLoader, fuzzSyncer) versionWatcher = fcommon.NewVersionWatcher(storageClient, config.FrontEnd.VersionCheckPeriod, updater.HandlePendingVersion, updater.HandleCurrentVersion) versionWatcher.Start() err = <-versionWatcher.Status glog.Fatal(err) }() runServer() }
func main() { defer common.LogPanic() // Calls flag.Parse() common.InitWithMetrics("fuzzer-be", graphiteServer) if err := writeFlagsToConfig(); err != nil { glog.Fatalf("Problem with configuration: %v", err) } if err := setupOAuth(); err != nil { glog.Fatalf("Problem with OAuth: %s", err) } if err := fcommon.DownloadSkiaVersionForFuzzing(storageClient, config.Generator.SkiaRoot, &config.Generator); err != nil { glog.Fatalf("Problem downloading Skia: %s", err) } if err := generator.DownloadBinarySeedFiles(storageClient); err != nil { glog.Fatalf("Problem downloading binary seed files: %s", err) } glog.Infof("Starting generator with configuration %#v", config.Generator) if err := generator.StartBinaryGenerator(); err != nil { glog.Fatalf("Problem starting binary generator: %s", err) } glog.Infof("Starting aggregator with configuration %#v", config.Aggregator) agg, err := aggregator.StartBinaryAggregator(storageClient) if err != nil { glog.Fatalf("Could not start aggregator: %s", err) } glog.Info("Starting version watcher") updater := generator.NewVersionUpdater(storageClient, agg) watcher := fcommon.NewVersionWatcher(storageClient, config.Generator.VersionCheckPeriod, updater.UpdateToNewSkiaVersion, nil) watcher.Start() err = <-watcher.Status glog.Fatal(err) }