Files
sqlite3/internal/util/mem_test.go

121 lines
3.4 KiB
Go
Raw Permalink 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")
}
2023-11-17 19:06:10 +00:00
func TestReadUint8_nil(t *testing.T) {
defer func() { _ = recover() }()
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2025-01-21 01:42:57 +00:00
Read[byte](mock, 0)
2023-11-17 19:06:10 +00:00
t.Error("want panic")
}
func TestReadUint8_range(t *testing.T) {
defer func() { _ = recover() }()
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2025-01-21 01:42:57 +00:00
Read[byte](mock, wazerotest.PageSize)
2023-11-17 19:06:10 +00:00
t.Error("want panic")
}
2023-03-29 15:01:25 +01:00
func TestReadUint32_nil(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2025-01-21 01:42:57 +00:00
Read32[uint32](mock, 0)
2023-03-29 15:01:25 +01:00
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))
2025-01-21 01:42:57 +00:00
Read32[uint32](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))
2025-01-21 01:42:57 +00:00
Read64[uint64](mock, 0)
2023-03-29 15:01:25 +01:00
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))
2025-01-21 01:42:57 +00:00
Read64[uint64](mock, wazerotest.PageSize-2)
2023-03-29 15:01:25 +01:00
t.Error("want panic")
}
2023-11-17 19:06:10 +00:00
func TestWriteUint8_nil(t *testing.T) {
defer func() { _ = recover() }()
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2025-01-21 01:42:57 +00:00
Write[byte](mock, 0, 1)
2023-11-17 19:06:10 +00:00
t.Error("want panic")
}
func TestWriteUint8_range(t *testing.T) {
defer func() { _ = recover() }()
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2025-01-21 01:42:57 +00:00
Write[byte](mock, wazerotest.PageSize, 1)
2023-11-17 19:06:10 +00:00
t.Error("want panic")
}
2023-03-29 15:01:25 +01:00
func TestWriteUint32_nil(t *testing.T) {
defer func() { _ = recover() }()
2023-05-12 12:13:06 +01:00
mock := wazerotest.NewModule(wazerotest.NewFixedMemory(wazerotest.PageSize))
2025-01-21 01:42:57 +00:00
Write32[uint32](mock, 0, 1)
2023-03-29 15:01:25 +01:00
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))
2025-01-21 01:42:57 +00:00
Write32[uint32](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))
2025-01-21 01:42:57 +00:00
Write64[uint64](mock, 0, 1)
2023-03-29 15:01:25 +01:00
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))
2025-01-21 01:42:57 +00:00
Write64[uint64](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))
2025-01-21 01:42:57 +00:00
ReadString(mock, wazerotest.PageSize+2, math.MaxInt)
2023-03-29 15:01:25 +01:00
t.Error("want panic")
}