diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-05-06 08:33:51 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-05-06 11:24:51 +0000 |
| commit | 441f4fcc08ae33f36e5a15a9dd5abde3f0797921 (patch) | |
| tree | b85c0f6661d52d537e6e39b2791f0d7022390fec /prog/encoding_test.go | |
| parent | 69f2eab004cdc5bce339d5359dcf234698153dc7 (diff) | |
prog: fix validation of DataMmapProg
Allow to serialize/deserialize DataMmapProg
and fix validation in debug mode.
Fixes #4750
Diffstat (limited to 'prog/encoding_test.go')
| -rw-r--r-- | prog/encoding_test.go | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/prog/encoding_test.go b/prog/encoding_test.go index 608f94371..64e10ef0f 100644 --- a/prog/encoding_test.go +++ b/prog/encoding_test.go @@ -10,6 +10,8 @@ import ( "reflect" "sort" "testing" + + "github.com/stretchr/testify/assert" ) func setToArray(s map[string]struct{}) []string { @@ -32,7 +34,7 @@ func TestSerializeData(t *testing.T) { } buf := new(bytes.Buffer) serializeData(buf, data, readable) - p := newParser(nil, buf.Bytes(), true) + p := newParser(nil, buf.Bytes(), true, false) if !p.Scan() { t.Fatalf("parser does not scan") } @@ -386,6 +388,18 @@ func TestSerializeDeserialize(t *testing.T) { }) } +func TestDeserializeDataMmapProg(t *testing.T) { + testEachTarget(t, func(t *testing.T, target *Target) { + p := target.DataMmapProg() + data := p.Serialize() + p2, err := target.Deserialize(data, StrictUnsafe) + assert.NoError(t, err) + data2 := p2.Serialize() + assert.Equal(t, string(data), string(data2)) + p.SerializeForExec() + }) +} + func TestSerializeDeserializeRandom(t *testing.T) { testEachTargetRandom(t, func(t *testing.T, target *Target, rs rand.Source, iters int) { ct := target.DefaultChoiceTable() @@ -545,7 +559,7 @@ func TestHasNext(t *testing.T) { {"abc", true}, } for _, testCase := range testCases { - p := newParser(nil, []byte(testCase.input), true) + p := newParser(nil, []byte(testCase.input), true, false) if !p.Scan() { t.Fatalf("parser does not scan") } |
