Files
sqlite3/internal/util/mem_test.go

93 lines
2.6 KiB
Go
Raw Normal View History

2023-03-29 15:01:25 +01:00
package util
import (
"math"
"testing"
2023-05-12 12:13:06 +01:00
"github.com/tetratelabs/wazero/experimental/wazerotest"
2023-03-29 15:01:25 +01:00
)
func TestView_nil(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2023-03-29 15:01:25 +01:00
View(mock, 0, 8)
t.Error("want panic")
}
func TestView_range(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
View(mock, wazerotest.PageSize-2, 8)
2023-03-29 15:01:25 +01:00
t.Error("want panic")
}
func TestView_overflow(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2023-03-29 15:01:25 +01:00
View(mock, 1, math.MaxInt64)
t.Error("want panic")
}
func TestReadUint32_nil(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2023-03-29 15:01:25 +01:00
ReadUint32(mock, 0)
t.Error("want panic")
}
func TestReadUint32_range(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
ReadUint32(mock, wazerotest.PageSize-2)
2023-03-29 15:01:25 +01:00
t.Error("want panic")
}
func TestReadUint64_nil(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2023-03-29 15:01:25 +01:00
ReadUint64(mock, 0)
t.Error("want panic")
}
func TestReadUint64_range(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
ReadUint64(mock, wazerotest.PageSize-2)
2023-03-29 15:01:25 +01:00
t.Error("want panic")
}
func TestWriteUint32_nil(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2023-03-29 15:01:25 +01:00
WriteUint32(mock, 0, 1)
t.Error("want panic")
}
func TestWriteUint32_range(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
WriteUint32(mock, wazerotest.PageSize-2, 1)
2023-03-29 15:01:25 +01:00
t.Error("want panic")
}
func TestWriteUint64_nil(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2023-03-29 15:01:25 +01:00
WriteUint64(mock, 0, 1)
t.Error("want panic")
}
func TestWriteUint64_range(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
WriteUint64(mock, wazerotest.PageSize-2, 1)
2023-03-29 15:01:25 +01:00
t.Error("want panic")
}
func TestReadString_range(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
ReadString(mock, wazerotest.PageSize+2, math.MaxUint32)
2023-03-29 15:01:25 +01:00
t.Error("want panic")
}