btcd/database/ffldb/export_test.go
Calvin Kim 5c1dd21e79 database/ffldb: Add PruneBlocks to db interface
This change is part of the effort to add pruning support to btcd.

PruneBlocks will prune the earliest block files until it reaches the
given target size.  The returned hashes are the hashes of the blocks
that were pruned.
2023-08-22 15:48:46 +09:00

28 lines
948 B
Go

// Copyright (c) 2015-2016 The btcsuite developers
// Use of this source code is governed by an ISC
// license that can be found in the LICENSE file.
/*
This test file is part of the ffldb package rather than than the ffldb_test
package so it can bridge access to the internals to properly test cases which
are either not possible or can't reliably be tested via the public interface.
The functions are only exported while the tests are being run.
*/
package ffldb
import (
"github.com/btcsuite/btcd/database"
)
// TstRunWithMaxBlockFileSize runs the passed function with the maximum allowed
// file size for the database set to the provided value. The value will be set
// back to the original value upon completion.
func TstRunWithMaxBlockFileSize(idb database.DB, size uint32, fn func()) {
ffldb := idb.(*db)
origSize := ffldb.store.maxBlockFileSize
ffldb.store.maxBlockFileSize = size
fn()
ffldb.store.maxBlockFileSize = origSize
}