Skip to content

Commit 62751b6

Browse files
committed
Test fixes for quota bump
1 parent 4609198 commit 62751b6

File tree

2 files changed

+30
-18
lines changed

2 files changed

+30
-18
lines changed

ledger/boxtxn_test.go

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ var passThruSource = main(`
128128
`)
129129

130130
const boxVersion = 36
131+
const boxQuotaBumpVersion = 41
131132

132133
func boxFee(p config.ConsensusParams, nameAndValueSize uint64) uint64 {
133134
return p.BoxFlatMinBalance + p.BoxByteMinBalance*(nameAndValueSize)
@@ -539,16 +540,20 @@ func TestBoxIOBudgets(t *testing.T) {
539540
ApplicationID: appID,
540541
Boxes: []transactions.BoxRef{{Index: 0, Name: []byte("x")}},
541542
}
542-
dl.txn(call.Args("create", "x", "\x10\x00"), // 4096
543-
"write budget (1024) exceeded")
544-
call.Boxes = append(call.Boxes, transactions.BoxRef{})
543+
if ver < boxQuotaBumpVersion {
544+
dl.txn(call.Args("create", "x", "\x10\x00"), // 4096
545+
"write budget (1024) exceeded")
546+
call.Boxes = append(call.Boxes, transactions.BoxRef{})
547+
}
545548
dl.txn(call.Args("create", "x", "\x10\x00"), // 4096
546549
"write budget (2048) exceeded")
547550
call.Boxes = append(call.Boxes, transactions.BoxRef{})
548-
dl.txn(call.Args("create", "x", "\x10\x00"), // 4096
549-
"write budget (3072) exceeded")
550-
call.Boxes = append(call.Boxes, transactions.BoxRef{})
551-
dl.txn(call.Args("create", "x", "\x10\x00"), // now there are 4 box refs
551+
if ver < boxQuotaBumpVersion {
552+
dl.txn(call.Args("create", "x", "\x10\x00"), // 4096
553+
"write budget (3072) exceeded")
554+
call.Boxes = append(call.Boxes, transactions.BoxRef{})
555+
}
556+
dl.txn(call.Args("create", "x", "\x10\x00"), // now there are enough box refs
552557
"below min") // big box would need more balance
553558
dl.txn(call.Args("create", "x", "\x10\x01"), // 4097
554559
"write budget (4096) exceeded")
@@ -572,11 +577,10 @@ func TestBoxIOBudgets(t *testing.T) {
572577
dl.txgroup("", &fundApp, create)
573578

574579
// Now that we've created a 4,096 byte box, test READ budget
575-
// It works at the start, because call still has 4 brs.
580+
// It works at the start, because call still has enough brs.
576581
dl.txn(call.Args("check", "x", "\x00"))
577-
call.Boxes = call.Boxes[:3]
578-
dl.txn(call.Args("check", "x", "\x00"),
579-
"box read budget (3072) exceeded")
582+
call.Boxes = call.Boxes[:len(call.Boxes)-1] // remove one ref
583+
dl.txn(call.Args("check", "x", "\x00"), "box read budget")
580584

581585
// Give a budget over 32768, confirm failure anyway
582586
empties := [32]transactions.BoxRef{}
@@ -603,7 +607,7 @@ func TestBoxInners(t *testing.T) {
603607
dl.txn(&txntest.Txn{Type: "pay", Sender: addrs[0], Receiver: addrs[0]})
604608
dl.txn(&txntest.Txn{Type: "pay", Sender: addrs[0], Receiver: addrs[0]})
605609

606-
boxID := dl.fundedApp(addrs[0], 2_000_000, boxAppSource) // there are some big boxes made
610+
boxID := dl.fundedApp(addrs[0], 4_000_000, boxAppSource) // there are some big boxes made
607611
passID := dl.fundedApp(addrs[0], 120_000, passThruSource) // lowish, show it's not paying for boxes
608612
call := txntest.Txn{
609613
Type: "appl",
@@ -621,11 +625,19 @@ func TestBoxInners(t *testing.T) {
621625
require.Error(t, call.Txn().WellFormed(transactions.SpecialAddresses{}, dl.generator.genesisProto))
622626

623627
call.Boxes = []transactions.BoxRef{{Index: 1, Name: []byte("x")}}
624-
dl.txn(call.Args("create", "x", "\x10\x00"), // 4096
625-
"write budget (1024) exceeded")
626-
dl.txn(call.Args("create", "x", "\x04\x00")) // 1024
627-
call.Boxes = append(call.Boxes, transactions.BoxRef{Index: 1, Name: []byte("y")})
628-
dl.txn(call.Args("create", "y", "\x08\x00")) // 2048
628+
if ver < boxQuotaBumpVersion {
629+
dl.txn(call.Args("create", "x", "\x10\x00"), // 4096
630+
"write budget (1024) exceeded")
631+
dl.txn(call.Args("create", "x", "\x04\x00")) // 1024
632+
call.Boxes = append(call.Boxes, transactions.BoxRef{Index: 1, Name: []byte("y")})
633+
dl.txn(call.Args("create", "y", "\x08\x00")) // 2048
634+
} else {
635+
dl.txn(call.Args("create", "x", "\x10\x00"), // 4096
636+
"write budget (2048) exceeded")
637+
dl.txn(call.Args("create", "x", "\x08\x00")) // 2048
638+
call.Boxes = append(call.Boxes, transactions.BoxRef{Index: 1, Name: []byte("y")})
639+
dl.txn(call.Args("create", "y", "\x10\x00")) // 4096
640+
}
629641

630642
require.Len(t, call.Boxes, 2)
631643
setX := call.Args("set", "x", "A")

test/e2e-go/restAPI/simulate/simulateRestAPI_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2585,7 +2585,7 @@ assert
25852585
25862586
// Box access
25872587
byte "A"
2588-
int 1025
2588+
int 2049 // need three refs with old quota, two after the bump (we only test latest)
25892589
box_create
25902590
assert
25912591

0 commit comments

Comments
 (0)