accounts/abi/bind, ethclient/simulated: check SendTransaction error in tests (#30349)

In few tests the returned error from `SendTransaction` is not being
checked. This PR checks the returned err in tests.

Returning errors also revealed tx in `TestCommitReturnValue` is not
actually being sent, and returns err ` only replay-protected (EIP-155)
transactions allowed over RPC`. Fixed the transaction by using the
`testTx` function.
This commit is contained in:
Ceyhun Onur 2024-08-27 18:11:50 +03:00 committed by GitHub
parent 87377c58bc
commit 9eb91542de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 9 deletions

@ -82,7 +82,9 @@ func TestWaitDeployed(t *testing.T) {
}() }()
// Send and mine the transaction. // Send and mine the transaction.
backend.Client().SendTransaction(ctx, tx) if err := backend.Client().SendTransaction(ctx, tx); err != nil {
t.Errorf("test %q: failed to send transaction: %v", name, err)
}
backend.Commit() backend.Commit()
select { select {
@ -116,7 +118,9 @@ func TestWaitDeployedCornerCases(t *testing.T) {
tx, _ = types.SignTx(tx, types.LatestSigner(params.AllDevChainProtocolChanges), testKey) tx, _ = types.SignTx(tx, types.LatestSigner(params.AllDevChainProtocolChanges), testKey)
ctx, cancel := context.WithCancel(context.Background()) ctx, cancel := context.WithCancel(context.Background())
defer cancel() defer cancel()
backend.Client().SendTransaction(ctx, tx) if err := backend.Client().SendTransaction(ctx, tx); err != nil {
t.Errorf("failed to send transaction: %q", err)
}
backend.Commit() backend.Commit()
notContractCreation := errors.New("tx is not contract creation") notContractCreation := errors.New("tx is not contract creation")
if _, err := bind.WaitDeployed(ctx, backend.Client(), tx); err.Error() != notContractCreation.Error() { if _, err := bind.WaitDeployed(ctx, backend.Client(), tx); err.Error() != notContractCreation.Error() {
@ -134,6 +138,8 @@ func TestWaitDeployedCornerCases(t *testing.T) {
} }
}() }()
backend.Client().SendTransaction(ctx, tx) if err := backend.Client().SendTransaction(ctx, tx); err != nil {
t.Errorf("failed to send transaction: %q", err)
}
cancel() cancel()
} }

@ -213,7 +213,9 @@ func TestForkResendTx(t *testing.T) {
if err != nil { if err != nil {
t.Fatalf("could not create transaction: %v", err) t.Fatalf("could not create transaction: %v", err)
} }
client.SendTransaction(ctx, tx) if err := client.SendTransaction(ctx, tx); err != nil {
t.Fatalf("sending transaction: %v", err)
}
sim.Commit() sim.Commit()
// 3. // 3.
@ -256,11 +258,10 @@ func TestCommitReturnValue(t *testing.T) {
} }
// Create a block in the original chain (containing a transaction to force different block hashes) // Create a block in the original chain (containing a transaction to force different block hashes)
head, _ := client.HeaderByNumber(ctx, nil) // Should be child's, good enough tx, _ := newTx(sim, testKey)
gasPrice := new(big.Int).Add(head.BaseFee, big.NewInt(1)) if err := client.SendTransaction(ctx, tx); err != nil {
_tx := types.NewTransaction(0, testAddr, big.NewInt(1000), params.TxGas, gasPrice, nil) t.Errorf("sending transaction: %v", err)
tx, _ := types.SignTx(_tx, types.HomesteadSigner{}, testKey) }
client.SendTransaction(ctx, tx)
h2 := sim.Commit() h2 := sim.Commit()