commit 63e18e7130b326684f3b78af8676cd9bd0a5f313
parent cb47dc245992b2d5014e52d228e4ed9994aa52a8
Author: Oliver Lowe <o@olowe.co>
Date: Sat, 22 Jun 2024 17:39:10 +1000
mpegts: test unmarshalling bad data
Not super thorough, but better than nothing. Easy enough to add new
test cases.
Diffstat:
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/mpegts/codec_test.go b/mpegts/codec_test.go
@@ -10,8 +10,7 @@ import (
)
func TestDecode(t *testing.T) {
- // f, err := os.Open("testdata/193039199_mp4_h264_aac_hq_7.ts")
- f, err := os.Open("testdata/bbb.ts")
+ f, err := os.Open("testdata/193039199_mp4_h264_aac_hq_7.ts")
if err != nil {
t.Fatal(err)
}
@@ -72,6 +71,21 @@ func TestDecode(t *testing.T) {
}
}
+func TestBadData(t *testing.T) {
+ m := map[string][]byte{
+ "garbage": []byte("0123456789"),
+ "only sync bytes": bytes.Repeat([]byte{Sync}, PacketSize),
+ }
+ for name, in := range m {
+ t.Run(name, func(t *testing.T) {
+ var p Packet
+ if err := Unmarshal(in, &p); err == nil {
+ t.Errorf("Unmarshal(%s): nil error", string(in))
+ }
+ })
+ }
+}
+
func TestScanner(t *testing.T) {
name := "testdata/193039199_mp4_h264_aac_hq_7.ts"
data, err := os.ReadFile(name)