mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-25 06:06:44 +00:00
core/txpool/blobpool: fixed tests
This commit is contained in:
parent
56bccbb3a9
commit
ea153654ce
2 changed files with 43 additions and 2 deletions
|
|
@ -1008,7 +1008,7 @@ func TestOpenCap(t *testing.T) {
|
||||||
|
|
||||||
keep = []common.Address{addr1, addr3}
|
keep = []common.Address{addr1, addr3}
|
||||||
drop = []common.Address{addr2}
|
drop = []common.Address{addr2}
|
||||||
size = uint64(2 * (txAvgSize + blobSize + txBlobOverhead))
|
size = uint64(2 * (txAvgSize + blobSize))
|
||||||
)
|
)
|
||||||
store.Put(blob1)
|
store.Put(blob1)
|
||||||
store.Put(blob2)
|
store.Put(blob2)
|
||||||
|
|
@ -1017,7 +1017,7 @@ func TestOpenCap(t *testing.T) {
|
||||||
|
|
||||||
// Verify pool capping twice: first by reducing the data cap, then restarting
|
// Verify pool capping twice: first by reducing the data cap, then restarting
|
||||||
// with a high cap to ensure everything was persisted previously
|
// with a high cap to ensure everything was persisted previously
|
||||||
for _, datacap := range []uint64{2 * (txAvgSize + blobSize + txBlobOverhead), 100 * (txAvgSize + blobSize + txBlobOverhead)} {
|
for _, datacap := range []uint64{2 * (txAvgSize + blobSize), 100 * (txAvgSize + blobSize)} {
|
||||||
// Create a blob pool out of the pre-seeded data, but cap it to 2 blob transaction
|
// Create a blob pool out of the pre-seeded data, but cap it to 2 blob transaction
|
||||||
statedb, _ := state.New(types.EmptyRootHash, state.NewDatabaseForTesting())
|
statedb, _ := state.New(types.EmptyRootHash, state.NewDatabaseForTesting())
|
||||||
statedb.AddBalance(addr1, uint256.NewInt(1_000_000_000), tracing.BalanceChangeUnspecified)
|
statedb.AddBalance(addr1, uint256.NewInt(1_000_000_000), tracing.BalanceChangeUnspecified)
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,47 @@ func TestNewSlotter(t *testing.T) {
|
||||||
// Generate the database shelve sizes
|
// Generate the database shelve sizes
|
||||||
slotter := newSlotter(6)
|
slotter := newSlotter(6)
|
||||||
|
|
||||||
|
var shelves []uint32
|
||||||
|
for {
|
||||||
|
shelf, done := slotter()
|
||||||
|
shelves = append(shelves, shelf)
|
||||||
|
if done {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Compare the database shelves to the expected ones
|
||||||
|
want := []uint32{
|
||||||
|
0*blobSize + txAvgSize, // 0 blob + some expected tx infos
|
||||||
|
1*blobSize + txAvgSize, // 1 blob + some expected tx infos
|
||||||
|
2*blobSize + txAvgSize, // 2 blob + some expected tx infos (could be fewer blobs and more tx data)
|
||||||
|
3*blobSize + txAvgSize, // 3 blob + some expected tx infos (could be fewer blobs and more tx data)
|
||||||
|
4*blobSize + txAvgSize, // 4 blob + some expected tx infos (could be fewer blobs and more tx data)
|
||||||
|
5*blobSize + txAvgSize, // 1-6 blobs + unexpectedly large tx infos < 4 blobs + max tx metadata size
|
||||||
|
6*blobSize + txAvgSize, // 1-6 blobs + unexpectedly large tx infos < 4 blobs + max tx metadata size
|
||||||
|
7*blobSize + txAvgSize, // 1-6 blobs + unexpectedly large tx infos < 4 blobs + max tx metadata size
|
||||||
|
8*blobSize + txAvgSize, // 1-6 blobs + unexpectedly large tx infos < 4 blobs + max tx metadata size
|
||||||
|
9*blobSize + txAvgSize, // 1-6 blobs + unexpectedly large tx infos < 4 blobs + max tx metadata size
|
||||||
|
10*blobSize + txAvgSize, // 1-6 blobs + unexpectedly large tx infos < 4 blobs + max tx metadata size
|
||||||
|
11*blobSize + txAvgSize, // 1-6 blobs + unexpectedly large tx infos < 4 blobs + max tx metadata size
|
||||||
|
12*blobSize + txAvgSize, // 1-6 blobs + unexpectedly large tx infos < 4 blobs + max tx metadata size
|
||||||
|
13*blobSize + txAvgSize, // 1-6 blobs + unexpectedly large tx infos < 4 blobs + max tx metadata size
|
||||||
|
14*blobSize + txAvgSize, // 1-6 blobs + unexpectedly large tx infos >= 4 blobs + max tx metadata size
|
||||||
|
}
|
||||||
|
if len(shelves) != len(want) {
|
||||||
|
t.Errorf("shelves count mismatch: have %d, want %d", len(shelves), len(want))
|
||||||
|
}
|
||||||
|
for i := 0; i < len(shelves) && i < len(want); i++ {
|
||||||
|
if shelves[i] != want[i] {
|
||||||
|
t.Errorf("shelf %d mismatch: have %d, want %d", i, shelves[i], want[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tests that the slotter creates the expected database shelves.
|
||||||
|
func TestNewSlotterEIP7594(t *testing.T) {
|
||||||
|
// Generate the database shelve sizes
|
||||||
|
slotter := newSlotterEIP7594(6)
|
||||||
|
|
||||||
var shelves []uint32
|
var shelves []uint32
|
||||||
for {
|
for {
|
||||||
shelf, done := slotter()
|
shelf, done := slotter()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue