diff --git a/driver/savepoint.go b/driver/savepoint.go index 60aa6b9..eea40dd 100644 --- a/driver/savepoint.go +++ b/driver/savepoint.go @@ -16,12 +16,25 @@ func Savepoint(tx *sql.Tx) sqlite3.Savepoint { return ctx.Savepoint } +// A saveptCtx is never canceled, has no values, and has no deadline. type saveptCtx struct{ sqlite3.Savepoint } -func (*saveptCtx) Deadline() (deadline time.Time, ok bool) { return } +func (*saveptCtx) Deadline() (deadline time.Time, ok bool) { + // notest + return +} -func (*saveptCtx) Done() <-chan struct{} { return nil } +func (*saveptCtx) Done() <-chan struct{} { + // notest + return nil +} -func (*saveptCtx) Err() error { return nil } +func (*saveptCtx) Err() error { + // notest + return nil +} -func (*saveptCtx) Value(key any) any { return nil } +func (*saveptCtx) Value(key any) any { + // notest + return nil +} diff --git a/ext/bloom/bloom.go b/ext/bloom/bloom.go index cda142d..85d3879 100644 --- a/ext/bloom/bloom.go +++ b/ext/bloom/bloom.go @@ -160,7 +160,9 @@ func (b *bloom) Rename(new string) error { return err } -func (t *bloom) ShadowTables() {} +func (t *bloom) ShadowTables() { + // notest // not meant to be called +} func (t *bloom) Integrity(schema, table string, flags int) error { load, _, err := t.db.Prepare(fmt.Sprintf( diff --git a/internal/alloc/alloc_test.go b/internal/alloc/alloc_test.go new file mode 100644 index 0000000..e41b8fb --- /dev/null +++ b/internal/alloc/alloc_test.go @@ -0,0 +1,14 @@ +package alloc_test + +import ( + "math" + "testing" + + "github.com/ncruces/go-sqlite3/internal/alloc" +) + +func TestVirtual(t *testing.T) { + defer func() { _ = recover() }() + alloc.Virtual(math.MaxInt+2, math.MaxInt+2) + t.Error("want panic") +} diff --git a/internal/testcfg/testcfg.go b/internal/testcfg/testcfg.go index 23e0d3b..f1b07f8 100644 --- a/internal/testcfg/testcfg.go +++ b/internal/testcfg/testcfg.go @@ -9,6 +9,8 @@ import ( "github.com/tetratelabs/wazero" ) +// notest + func init() { if bits.UintSize < 64 { return diff --git a/vfs/memdb/memdb.go b/vfs/memdb/memdb.go index f21335d..027fb7f 100644 --- a/vfs/memdb/memdb.go +++ b/vfs/memdb/memdb.go @@ -30,6 +30,7 @@ func (memVFS) Open(name string, flags vfs.OpenFlag) (vfs.File, vfs.OpenFlag, err vfs.OPEN_TEMP_DB | vfs.OPEN_TEMP_JOURNAL if flags&types == 0 { + // notest return nil, flags, sqlite3.CANTOPEN } @@ -136,7 +137,7 @@ func (m *memFile) ReadAt(b []byte, off int64) (n int, err error) { } n = copy(b, (*m.data[base])[rest:have]) if n < len(b) { - // Assume reads are page aligned. + // notest // assume reads are page aligned return 0, io.ErrNoProgress } return n, nil @@ -153,7 +154,7 @@ func (m *memFile) WriteAt(b []byte, off int64) (n int, err error) { } n = copy((*m.data[base])[rest:], b) if n < len(b) { - // Assume writes are page aligned. + // notest // assume writes are page aligned return n, io.ErrShortWrite } if size := off + int64(len(b)); size > m.size { diff --git a/vfs/os_f2fs_linux.go b/vfs/os_f2fs_linux.go index a9f0e33..487f0c7 100644 --- a/vfs/os_f2fs_linux.go +++ b/vfs/os_f2fs_linux.go @@ -16,6 +16,8 @@ const ( _F2FS_FEATURE_ATOMIC_WRITE = 4 ) +// notest + func osBatchAtomic(file *os.File) bool { flags, err := unix.IoctlGetInt(int(file.Fd()), _F2FS_IOC_GET_FEATURES) return err == nil && flags&_F2FS_FEATURE_ATOMIC_WRITE != 0 diff --git a/vfs/readervfs/reader.go b/vfs/readervfs/reader.go index 15b9471..3614c64 100644 --- a/vfs/readervfs/reader.go +++ b/vfs/readervfs/reader.go @@ -10,6 +10,7 @@ type readerVFS struct{} func (readerVFS) Open(name string, flags vfs.OpenFlag) (vfs.File, vfs.OpenFlag, error) { if flags&vfs.OPEN_MAIN_DB == 0 { + // notest return nil, flags, sqlite3.CANTOPEN } readerMtx.RLock() @@ -21,10 +22,12 @@ func (readerVFS) Open(name string, flags vfs.OpenFlag) (vfs.File, vfs.OpenFlag, } func (readerVFS) Delete(name string, dirSync bool) error { + // notest return sqlite3.IOERR_DELETE } func (readerVFS) Access(name string, flag vfs.AccessFlag) (bool, error) { + // notest return false, nil } @@ -39,30 +42,37 @@ func (readerFile) Close() error { } func (readerFile) WriteAt(b []byte, off int64) (n int, err error) { + // notest return 0, sqlite3.READONLY } func (readerFile) Truncate(size int64) error { + // notest return sqlite3.READONLY } func (readerFile) Sync(flag vfs.SyncFlag) error { + // notest return nil } func (readerFile) Lock(lock vfs.LockLevel) error { + // notest return nil } func (readerFile) Unlock(lock vfs.LockLevel) error { + // notest return nil } func (readerFile) CheckReservedLock() (bool, error) { + // notest return false, nil } func (readerFile) SectorSize() int { + // notest return 0 }