mirror of
https://github.com/ddworken/hishtory.git
synced 2025-08-15 01:22:43 +02:00
tests are passing and getting close now. Need to test the live update flow along with more thorough testing for everything
This commit is contained in:
@ -5,8 +5,21 @@ import (
|
||||
"time"
|
||||
"os"
|
||||
"path"
|
||||
"os/exec"
|
||||
"bytes"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func ResetLocalState(t *testing.T) {
|
||||
homedir, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
t.Fatalf("failed to retrieve homedir: %v", err)
|
||||
}
|
||||
|
||||
os.Remove(path.Join(homedir, HISHTORY_PATH, DB_PATH))
|
||||
os.Remove(path.Join(homedir, HISHTORY_PATH, CONFIG_PATH))
|
||||
}
|
||||
|
||||
func BackupAndRestore(t *testing.T) func() {
|
||||
homedir, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
@ -21,6 +34,52 @@ func BackupAndRestore(t *testing.T) func() {
|
||||
}
|
||||
}
|
||||
|
||||
func buildServer(t *testing.T) {
|
||||
err := os.Chdir("/home/david/code/hishtory/")
|
||||
if err != nil {
|
||||
t.Fatalf("failed to chdir: %v", err)
|
||||
}
|
||||
cmd := exec.Command("go", "build", "-o", "/tmp/server","server/server.go")
|
||||
var stdout bytes.Buffer
|
||||
cmd.Stdout = &stdout
|
||||
var stderr bytes.Buffer
|
||||
cmd.Stderr = &stderr
|
||||
err = cmd.Start()
|
||||
if err != nil {
|
||||
t.Fatalf("failed to start to build server: %v, stderr=%#v, stdout=%#v", err, stderr.String(), stdout.String())
|
||||
}
|
||||
err = cmd.Wait()
|
||||
if err != nil {
|
||||
t.Fatalf("failed to build server: %v, stderr=%#v, stdout=%#v", err, stderr.String(), stdout.String())
|
||||
}
|
||||
}
|
||||
|
||||
func RunTestServer(t *testing.T) func() {
|
||||
os.Setenv("HISHTORY_SERVER" ,"http://localhost:8080")
|
||||
buildServer(t)
|
||||
cmd := exec.Command( "/tmp/server" )
|
||||
var stdout bytes.Buffer
|
||||
cmd.Stdout = &stdout
|
||||
var stderr bytes.Buffer
|
||||
cmd.Stderr = &stderr
|
||||
err := cmd.Start()
|
||||
if err != nil {
|
||||
t.Fatalf("failed to start server: %v", err)
|
||||
}
|
||||
time.Sleep(time.Second*3)
|
||||
go func() {
|
||||
cmd.Wait()
|
||||
}()
|
||||
return func() {
|
||||
err := cmd.Process.Kill()
|
||||
if err != nil {
|
||||
t.Fatalf("failed to kill process: %v", err)
|
||||
}
|
||||
fmt.Println(fmt.Sprintf("stderr=%#v, stdout=%#v", stderr.String(), stdout.String()))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func Check(t *testing.T, err error) {
|
||||
if err != nil {
|
||||
t.Fatalf("Unexpected error: %v", err)
|
||||
|
Reference in New Issue
Block a user