// TODO: this test could be improved; the purpose is to // ensure that the standard plugins are in fact plugged in // and registered properly; this is a quick/naive way to do it. func TestStandardPlugins(t *testing.T) { numStandardPlugins := 26 // importing caddyhttp plugs in this many plugins s := caddy.DescribePlugins() if got, want := strings.Count(s, "\n"), numStandardPlugins+5; got != want { t.Errorf("Expected all standard plugins to be plugged in, got:\n%s", s) } }
// Run is Caddy's main() function. func Run() { flag.Parse() caddy.AppName = appName caddy.AppVersion = appVersion acme.UserAgent = appName + "/" + appVersion // Set up process log before anything bad happens switch logfile { case "stdout": log.SetOutput(os.Stdout) case "stderr": log.SetOutput(os.Stderr) case "": log.SetOutput(ioutil.Discard) default: log.SetOutput(&lumberjack.Logger{ Filename: logfile, MaxSize: 100, MaxAge: 14, MaxBackups: 10, }) } // Check for one-time actions if revoke != "" { err := caddytls.Revoke(revoke) if err != nil { log.Fatal(err) } fmt.Printf("Revoked certificate for %s\n", revoke) os.Exit(0) } if version { fmt.Printf("%s %s\n", appName, appVersion) if devBuild && gitShortStat != "" { fmt.Printf("%s\n%s\n", gitShortStat, gitFilesModified) } os.Exit(0) } if plugins { fmt.Println(caddy.DescribePlugins()) os.Exit(0) } moveStorage() // TODO: This is temporary for the 0.9 release, or until most users upgrade to 0.9+ // Set CPU cap err := setCPU(cpu) if err != nil { mustLogFatal(err) } // Get Caddyfile input caddyfile, err := caddy.LoadCaddyfile(serverType) if err != nil { mustLogFatal(err) } // Start your engines instance, err := caddy.Start(caddyfile) if err != nil { mustLogFatal(err) } // Twiddle your thumbs instance.Wait() }