// Copyright 2015 The Go Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style | |
// license that can be found in the LICENSE file. | |
package main | |
import "os" | |
var cmds = map[string]func(){} | |
func register(name string, f func()) { | |
if cmds[name] != nil { | |
panic("duplicate registration: " + name) | |
} | |
cmds[name] = f | |
} | |
func registerInit(name string, f func()) { | |
if len(os.Args) >= 2 && os.Args[1] == name { | |
f() | |
} | |
} | |
func main() { | |
if len(os.Args) < 2 { | |
println("usage: " + os.Args[0] + " name-of-test") | |
return | |
} | |
f := cmds[os.Args[1]] | |
if f == nil { | |
println("unknown function: " + os.Args[1]) | |
return | |
} | |
f() | |
} |