Skip to content

Commit f9740f1

Browse files
committed
Remove stream test code duplication
1 parent 879e195 commit f9740f1

File tree

2 files changed

+39
-69
lines changed

2 files changed

+39
-69
lines changed

encoder/encoder_test.go

+38-34
Original file line numberDiff line numberDiff line change
@@ -81,40 +81,7 @@ func (s *encoderSuite) TestEncode() {
8181

8282
s.Require().GreaterOrEqual(progress, 98.5)
8383

84-
s.Equal(1080, res.Ladder.Tiers[0].Height)
85-
s.Equal(720, res.Ladder.Tiers[1].Height)
86-
s.Equal(360, res.Ladder.Tiers[2].Height)
87-
s.Equal(144, res.Ladder.Tiers[3].Height)
88-
89-
outFiles := map[string]string{
90-
"master.m3u8": `
91-
#EXTM3U
92-
#EXT-X-VERSION:6
93-
#EXT-X-STREAM-INF:BANDWIDTH=\d+,(?:AVERAGE-BANDWIDTH=\d+,)?RESOLUTION=1920x1080,CODECS="avc1.\w+,mp4a.40.2"
94-
v0.m3u8
95-
96-
#EXT-X-STREAM-INF:BANDWIDTH=\d+,(?:AVERAGE-BANDWIDTH=\d+,)?RESOLUTION=1280x720,CODECS="avc1.\w+,mp4a.40.2"
97-
v1.m3u8
98-
99-
#EXT-X-STREAM-INF:BANDWIDTH=\d+,(?:AVERAGE-BANDWIDTH=\d+,)?RESOLUTION=640x360,CODECS="avc1.\w+,mp4a.40.2"
100-
v2.m3u8
101-
102-
#EXT-X-STREAM-INF:BANDWIDTH=\d+,(AVERAGE-BANDWIDTH=\d+,)?RESOLUTION=256x144,CODECS="avc1.\w+,mp4a.40.2"
103-
v3.m3u8`,
104-
"v0.m3u8": "v0_s000000.ts",
105-
"v1.m3u8": "v1_s000000.ts",
106-
"v2.m3u8": "v2_s000000.ts",
107-
"v3.m3u8": "v3_s000000.ts",
108-
"v0_s000000.ts": "",
109-
"v1_s000000.ts": "",
110-
"v2_s000000.ts": "",
111-
"v3_s000000.ts": "",
112-
}
113-
for f, str := range outFiles {
114-
cont, err := os.ReadFile(path.Join(s.out, f))
115-
s.NoError(err)
116-
s.Regexp(strings.TrimSpace(str), string(cont))
117-
}
84+
matchTranscodedOutput(s.T(), s.out, res)
11885
}
11986

12087
func TestTweakRealStreams(t *testing.T) {
@@ -178,3 +145,40 @@ func TestTweakRealStreams(t *testing.T) {
178145
})
179146
}
180147
}
148+
149+
func matchTranscodedOutput(t *testing.T, streamPath string, res *Result) {
150+
assert.Equal(t, 1080, res.Ladder.Tiers[0].Height)
151+
assert.Equal(t, 720, res.Ladder.Tiers[1].Height)
152+
assert.Equal(t, 360, res.Ladder.Tiers[2].Height)
153+
assert.Equal(t, 144, res.Ladder.Tiers[3].Height)
154+
155+
outFiles := map[string]string{
156+
"master.m3u8": `
157+
#EXTM3U
158+
#EXT-X-VERSION:6
159+
#EXT-X-STREAM-INF:BANDWIDTH=\d+,(?:AVERAGE-BANDWIDTH=\d+,)?RESOLUTION=1920x1080,CODECS="avc1.\w+,mp4a.40.2"
160+
v0.m3u8
161+
162+
#EXT-X-STREAM-INF:BANDWIDTH=\d+,(?:AVERAGE-BANDWIDTH=\d+,)?RESOLUTION=1280x720,CODECS="avc1.\w+,mp4a.40.2"
163+
v1.m3u8
164+
165+
#EXT-X-STREAM-INF:BANDWIDTH=\d+,(?:AVERAGE-BANDWIDTH=\d+,)?RESOLUTION=640x360,CODECS="avc1.\w+,mp4a.40.2"
166+
v2.m3u8
167+
168+
#EXT-X-STREAM-INF:BANDWIDTH=\d+,(AVERAGE-BANDWIDTH=\d+,)?RESOLUTION=256x144,CODECS="avc1.\w+,mp4a.40.2"
169+
v3.m3u8`,
170+
"v0.m3u8": "v0_s000000.ts",
171+
"v1.m3u8": "v1_s000000.ts",
172+
"v2.m3u8": "v2_s000000.ts",
173+
"v3.m3u8": "v3_s000000.ts",
174+
"v0_s000000.ts": "",
175+
"v1_s000000.ts": "",
176+
"v2_s000000.ts": "",
177+
"v3_s000000.ts": "",
178+
}
179+
for f, str := range outFiles {
180+
cont, err := os.ReadFile(path.Join(streamPath, f))
181+
require.NoError(t, err)
182+
assert.Regexp(t, strings.TrimSpace(str), string(cont))
183+
}
184+
}

encoder/pool_test.go

+1-35
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"os"
55
"path"
66
"path/filepath"
7-
"strings"
87
"testing"
98

109
"github.com/OdyseeTeam/transcoder/ladder"
@@ -61,38 +60,5 @@ func (s *poolSuite) TestEncode() {
6160

6261
s.Require().GreaterOrEqual(progress, 98.5)
6362

64-
s.Equal(1080, res.Ladder.Tiers[0].Height)
65-
s.Equal(720, res.Ladder.Tiers[1].Height)
66-
s.Equal(360, res.Ladder.Tiers[2].Height)
67-
s.Equal(144, res.Ladder.Tiers[3].Height)
68-
69-
outFiles := map[string]string{
70-
"master.m3u8": `
71-
#EXTM3U
72-
#EXT-X-VERSION:6
73-
#EXT-X-STREAM-INF:BANDWIDTH=\d+,AVERAGE-BANDWIDTH=\d+,RESOLUTION=1920x1080,CODECS="avc1.\w+,mp4a.40.2"
74-
v0.m3u8
75-
76-
#EXT-X-STREAM-INF:BANDWIDTH=\d+,AVERAGE-BANDWIDTH=\d+,RESOLUTION=1280x720,CODECS="avc1.\w+,mp4a.40.2"
77-
v1.m3u8
78-
79-
#EXT-X-STREAM-INF:BANDWIDTH=\d+,AVERAGE-BANDWIDTH=\d+,RESOLUTION=640x360,CODECS="avc1.\w+,mp4a.40.2"
80-
v2.m3u8
81-
82-
#EXT-X-STREAM-INF:BANDWIDTH=\d+,AVERAGE-BANDWIDTH=\d+,RESOLUTION=256x144,CODECS="avc1.\w+,mp4a.40.2"
83-
v3.m3u8`,
84-
"v0.m3u8": "v0_s000000.ts",
85-
"v1.m3u8": "v1_s000000.ts",
86-
"v2.m3u8": "v2_s000000.ts",
87-
"v3.m3u8": "v3_s000000.ts",
88-
"v0_s000000.ts": "",
89-
"v1_s000000.ts": "",
90-
"v2_s000000.ts": "",
91-
"v3_s000000.ts": "",
92-
}
93-
for f, str := range outFiles {
94-
cont, err := os.ReadFile(path.Join(s.out, f))
95-
s.NoError(err)
96-
s.Regexp(strings.TrimSpace(str), string(cont))
97-
}
63+
matchTranscodedOutput(s.T(), s.out, res)
9864
}

0 commit comments

Comments
 (0)