Added Dummy Tests
This commit is contained in:
@@ -3,6 +3,9 @@ package testrunner
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"alox.tool/api"
|
||||
@@ -22,6 +25,37 @@ func New(bus eventbus.EventBus, com *uart.Com) *TestRunner {
|
||||
}
|
||||
}
|
||||
|
||||
func (tr *TestRunner) RunTestSet(TSet map[string]func() error) {
|
||||
null, _ := os.OpenFile(os.DevNull, os.O_WRONLY, 0)
|
||||
defer null.Close()
|
||||
|
||||
// Backups der originalen Deskriptoren
|
||||
oldStdout := os.Stdout
|
||||
oldStderr := os.Stderr
|
||||
oldLogOut := log.Writer()
|
||||
|
||||
for name, f := range TSet {
|
||||
|
||||
// 1. Output komplett abdrehen
|
||||
os.Stdout = null
|
||||
os.Stderr = null
|
||||
log.SetOutput(io.Discard)
|
||||
|
||||
err := f()
|
||||
|
||||
// 2. Sofort wiederherstellen für das Log-Resultat
|
||||
os.Stdout = oldStdout
|
||||
os.Stderr = oldStderr
|
||||
log.SetOutput(oldLogOut)
|
||||
|
||||
if err != nil {
|
||||
log.Printf("[%s]: \t\tFailed: %v", name, err)
|
||||
continue
|
||||
}
|
||||
log.Printf("[%s]: \t\tSucceeded", name)
|
||||
}
|
||||
}
|
||||
|
||||
func (tr *TestRunner) Expect(idToSend byte, payload []byte, expectedID byte, timeout time.Duration) (*api.Frame, error) {
|
||||
rxChan := tr.bus.Subscribe(api.TopicUARTRx)
|
||||
defer tr.bus.Unsubscribe(api.TopicUARTRx, rxChan)
|
||||
|
||||
@@ -5,17 +5,58 @@ import (
|
||||
"time"
|
||||
|
||||
"alox.tool/api"
|
||||
"alox.tool/uart"
|
||||
)
|
||||
|
||||
func (tr *TestRunner) RunVersionTest() error {
|
||||
fmt.Println("Starte Version Test...")
|
||||
func (tr *TestRunner) RunEchoTest() error {
|
||||
frame, err := tr.Expect(api.CmdEcho, []byte{0x01}, api.CmdEcho, 1*time.Second)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Sende VersionRequest (0x02), erwarte VersionResponse (0x02)
|
||||
if frame.Data[0] != 0x01 {
|
||||
return fmt.Errorf("Got % X expected % X", frame.Data[0], 0x01)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (tr *TestRunner) RunVersionTest() error {
|
||||
frame, err := tr.Expect(api.CmdVersion, nil, api.CmdVersion, 1*time.Second)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Printf("Test bestanden! Hardware Version ist: %s\n", string(frame.Data))
|
||||
// TODO: Check Version and Buildhash?
|
||||
_, err = uart.ParseFrameVersion(*frame)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
v, err := uart.ParseFrameVersion(*frame)
|
||||
if v.Version != 1 {
|
||||
return fmt.Errorf("Got %d expected %d", v.Version, 1)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (tr *TestRunner) RunClientInfoTest() error {
|
||||
_, err := tr.Expect(api.CmdClientInfo, nil, api.CmdClientInfo, 1*time.Second)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// TODO: Real Check
|
||||
return nil
|
||||
}
|
||||
|
||||
func (tr *TestRunner) RunClientInputTest() error {
|
||||
_, err := tr.Expect(api.CmdClientInput, nil, api.CmdClientInput, 1*time.Second)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// TODO: Real Check
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user