Skip to content

Commit 09b74b9

Browse files
committed
state logger tests
1 parent 9f90bff commit 09b74b9

2 files changed

Lines changed: 59 additions & 2 deletions

File tree

backend/pkg/logger/logger_test.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/HyperloopUPV-H8/h9-backend/pkg/logger/state"
1212
dataPacketer "github.com/HyperloopUPV-H8/h9-backend/pkg/transport/packet/data"
1313
protectionPacketer "github.com/HyperloopUPV-H8/h9-backend/pkg/transport/packet/protection"
14+
statePacketer "github.com/HyperloopUPV-H8/h9-backend/pkg/transport/packet/state"
1415
"github.com/rs/zerolog"
1516
"os"
1617
"path"
@@ -167,6 +168,57 @@ func TestLogger(t *testing.T) {
167168
t.Errorf("orderErr: expected [test test 0], got %v", output)
168169
}
169170

171+
// State
172+
matrix := [8][15]float32{
173+
{1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
174+
{1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
175+
{1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
176+
{1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
177+
{1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
178+
{1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
179+
{1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
180+
{1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
181+
}
182+
statePacket := statePacketer.NewSpace(0, matrix)
183+
stateRecord := &state.Record{
184+
Packet: statePacket,
185+
From: "test",
186+
To: "test",
187+
Timestamp: timestamp,
188+
}
189+
190+
err = loggerHandler.PushRecord(stateRecord)
191+
if err != nil {
192+
t.Error(err)
193+
}
194+
195+
filename = path.Join(
196+
"logger", "state",
197+
logger.Timestamp.Format(logger.TimestampFormat),
198+
fmt.Sprintf("%s.csv", stateRecord.Timestamp.Format(logger.TimestampFormat)),
199+
)
200+
file, err = os.Open(filename)
201+
if err != nil {
202+
t.Error(err)
203+
}
204+
defer file.Close()
205+
206+
time.Sleep(1 * time.Second)
207+
208+
reader := csv.NewReader(file)
209+
for i := 0; i < 8; i++ {
210+
output, err = reader.Read()
211+
if err != nil {
212+
t.Error(err)
213+
}
214+
215+
for j := 0; j < 15; j++ {
216+
if output[j] != fmt.Sprint(float32(1.0)) {
217+
t.Errorf("stateErr: expected 1.0, got %v", output[j])
218+
}
219+
}
220+
}
221+
170222
if closeErr := loggerHandler.Stop(); closeErr != nil {
171223
t.Error(err)
172224
}

backend/pkg/logger/state/logger.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func (sublogger *Logger) PushRecord(record abstraction.LoggerRecord) error {
7070
filename := path.Join(
7171
"logger", "state",
7272
logger.Timestamp.Format(logger.TimestampFormat),
73-
fmt.Sprintf("%s.csv", time.Now().Format(logger.TimestampFormat)),
73+
fmt.Sprintf("%s.csv", stateRecord.Timestamp.Format(logger.TimestampFormat)),
7474
)
7575
err := os.MkdirAll(path.Dir(filename), os.ModePerm)
7676
if err != nil {
@@ -96,14 +96,19 @@ func (sublogger *Logger) PushRecord(record abstraction.LoggerRecord) error {
9696
}(file)
9797

9898
for _, item := range stateRecord.Packet.State() {
99-
err = writer.Write([]string{fmt.Sprint(item)})
99+
values := make([]string, 0, len(item))
100+
for _, value := range item {
101+
values = append(values, fmt.Sprint(value))
102+
}
103+
err = writer.Write(values)
100104
if err != nil {
101105
return logger.ErrWritingFile{
102106
Name: Name,
103107
Timestamp: time.Now(),
104108
Inner: err,
105109
}
106110
}
111+
writer.Flush()
107112
}
108113

109114
return nil

0 commit comments

Comments
 (0)