Add repo-memory integration tests
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var (
|
||||
executeMu sync.Mutex
|
||||
commandStdout io.Writer = os.Stdout
|
||||
commandStderr io.Writer = os.Stderr
|
||||
)
|
||||
|
||||
func Execute(args []string, stdout, stderr io.Writer) int {
|
||||
executeMu.Lock()
|
||||
defer executeMu.Unlock()
|
||||
|
||||
prevStdout := commandStdout
|
||||
prevStderr := commandStderr
|
||||
commandStdout = stdout
|
||||
commandStderr = stderr
|
||||
defer func() {
|
||||
commandStdout = prevStdout
|
||||
commandStderr = prevStderr
|
||||
}()
|
||||
|
||||
if len(args) < 1 {
|
||||
usage()
|
||||
return 2
|
||||
}
|
||||
|
||||
if err := runCommand(args); err != nil {
|
||||
_, _ = fmt.Fprintln(commandStderr, err)
|
||||
return 1
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
func runCommand(args []string) error {
|
||||
switch args[0] {
|
||||
case "init":
|
||||
return runInit(args[1:])
|
||||
case "add":
|
||||
return runAdd(args[1:])
|
||||
case "ingest":
|
||||
return runIngest(args[1:])
|
||||
case "search":
|
||||
return runSearch(args[1:])
|
||||
case "list":
|
||||
return runList(args[1:])
|
||||
case "events":
|
||||
return runEvents(args[1:])
|
||||
case "link":
|
||||
return runLink(args[1:])
|
||||
case "verify":
|
||||
return runVerify(args[1:])
|
||||
case "repos":
|
||||
return runRepos(args[1:])
|
||||
default:
|
||||
usage()
|
||||
return fmt.Errorf("unknown command %s", args[0])
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user