mirror of
https://github.com/datarhei/core.git
synced 2025-10-06 16:37:04 +08:00
Add test for progress data in history
This commit is contained in:
@@ -2,6 +2,7 @@ package parse
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"math"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
@@ -158,35 +159,46 @@ func TestParserLogHistory(t *testing.T) {
|
|||||||
LogHistory: 5,
|
LogHistory: 5,
|
||||||
}).(*parser)
|
}).(*parser)
|
||||||
|
|
||||||
parser.Parse("bla")
|
for i := 0; i < 7; i++ {
|
||||||
|
parser.Parse("bla")
|
||||||
|
|
||||||
parser.prelude.done = true
|
parser.prelude.done = true
|
||||||
parser.Parse("frame= 5968 fps= 25 q=19.4 size=443kB time=00:03:58.44 bitrate=5632kbits/s speed=0.999x skip=9733 drop=3522 dup=87463")
|
parser.Parse("frame= 5968 fps= 25 q=19.4 size=443kB time=00:03:58.44 bitrate=5632kbits/s speed=0.999x skip=9733 drop=3522 dup=87463")
|
||||||
|
|
||||||
|
history := parser.ReportHistory()
|
||||||
|
require.Equal(t, int(math.Min(float64(i), 5)), len(history))
|
||||||
|
|
||||||
|
parser.Stop("finished", process.Usage{})
|
||||||
|
parser.ResetStats()
|
||||||
|
|
||||||
|
time.Sleep(time.Second)
|
||||||
|
}
|
||||||
|
|
||||||
history := parser.ReportHistory()
|
history := parser.ReportHistory()
|
||||||
require.Equal(t, 0, len(history))
|
require.Equal(t, 5, len(history))
|
||||||
|
|
||||||
parser.Stop("finished", process.Usage{})
|
for i := 0; i < 5; i++ {
|
||||||
|
require.Equal(t, "finished", history[i].ExitState)
|
||||||
|
require.Equal(t, "bla", history[i].Log[0].Data)
|
||||||
|
require.Equal(t, "bla", history[i].Prelude[0])
|
||||||
|
|
||||||
history = parser.ReportHistory()
|
d, _ := time.ParseDuration("3m58s440ms")
|
||||||
require.Equal(t, 1, len(history))
|
require.Equal(t, Progress{
|
||||||
|
Frame: 5968,
|
||||||
|
FPS: 0, // is calculated with averager
|
||||||
|
Quantizer: 19.4,
|
||||||
|
Size: 453632,
|
||||||
|
Time: d.Seconds(),
|
||||||
|
Bitrate: 0, // is calculated with averager
|
||||||
|
Speed: 0.999,
|
||||||
|
Drop: 3522,
|
||||||
|
Dup: 87463,
|
||||||
|
}, history[i].Progress)
|
||||||
|
|
||||||
require.Equal(t, "finished", history[0].ExitState)
|
if i != 0 {
|
||||||
require.Equal(t, "bla", history[0].Log[0].Data)
|
require.Greater(t, history[i].CreatedAt, history[i-1].ExitedAt)
|
||||||
require.Equal(t, "bla", history[0].Prelude[0])
|
}
|
||||||
|
}
|
||||||
d, _ := time.ParseDuration("3m58s440ms")
|
|
||||||
require.Equal(t, Progress{
|
|
||||||
Frame: 5968,
|
|
||||||
FPS: 0, // is calculated with averager
|
|
||||||
Quantizer: 19.4,
|
|
||||||
Size: 453632,
|
|
||||||
Time: d.Seconds(),
|
|
||||||
Bitrate: 0, // is calculated with averager
|
|
||||||
Speed: 0.999,
|
|
||||||
Drop: 3522,
|
|
||||||
Dup: 87463,
|
|
||||||
}, history[0].Progress)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestParserLogHistoryLength(t *testing.T) {
|
func TestParserLogHistoryLength(t *testing.T) {
|
||||||
@@ -221,7 +233,7 @@ func TestParserLogMinimalHistoryLength(t *testing.T) {
|
|||||||
history := parser.ReportHistory()
|
history := parser.ReportHistory()
|
||||||
require.Equal(t, 0, len(history))
|
require.Equal(t, 0, len(history))
|
||||||
|
|
||||||
for i := 0; i < 15; i++ {
|
for i := 0; i < 42; i++ {
|
||||||
parser.Parse("bla")
|
parser.Parse("bla")
|
||||||
|
|
||||||
parser.prelude.done = true
|
parser.prelude.done = true
|
||||||
@@ -235,10 +247,36 @@ func TestParserLogMinimalHistoryLength(t *testing.T) {
|
|||||||
|
|
||||||
for i := 0; i < 10; i++ {
|
for i := 0; i < 10; i++ {
|
||||||
require.Empty(t, history[i].Log, i)
|
require.Empty(t, history[i].Log, i)
|
||||||
|
|
||||||
|
d, _ := time.ParseDuration("3m58s440ms")
|
||||||
|
require.Equal(t, Progress{
|
||||||
|
Frame: 5968,
|
||||||
|
FPS: 0, // is calculated with averager
|
||||||
|
Quantizer: 19.4,
|
||||||
|
Size: 453632,
|
||||||
|
Time: d.Seconds(),
|
||||||
|
Bitrate: 0, // is calculated with averager
|
||||||
|
Speed: 0.999,
|
||||||
|
Drop: 3522,
|
||||||
|
Dup: 87463,
|
||||||
|
}, history[i].Progress)
|
||||||
}
|
}
|
||||||
|
|
||||||
for i := 10; i < 13; i++ {
|
for i := 10; i < 13; i++ {
|
||||||
require.NotEmpty(t, history[i].Log, i)
|
require.NotEmpty(t, history[i].Log, i)
|
||||||
|
|
||||||
|
d, _ := time.ParseDuration("3m58s440ms")
|
||||||
|
require.Equal(t, Progress{
|
||||||
|
Frame: 5968,
|
||||||
|
FPS: 0, // is calculated with averager
|
||||||
|
Quantizer: 19.4,
|
||||||
|
Size: 453632,
|
||||||
|
Time: d.Seconds(),
|
||||||
|
Bitrate: 0, // is calculated with averager
|
||||||
|
Speed: 0.999,
|
||||||
|
Drop: 3522,
|
||||||
|
Dup: 87463,
|
||||||
|
}, history[i].Progress)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user