ethclient: ensure the close of canceled context (#28349)

This commit is contained in:
Kero 2023-10-17 20:09:48 +08:00 committed by GitHub
parent 1b1611b8d0
commit 1f11d2d340
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -393,6 +393,7 @@ func testTransactionInBlockInterrupted(t *testing.T, client *rpc.Client) {
// Test tx in block interrupted. // Test tx in block interrupted.
ctx, cancel := context.WithCancel(context.Background()) ctx, cancel := context.WithCancel(context.Background())
cancel() cancel()
<-ctx.Done() // Ensure the close of the Done channel
tx, err := ec.TransactionInBlock(ctx, block.Hash(), 0) tx, err := ec.TransactionInBlock(ctx, block.Hash(), 0)
if tx != nil { if tx != nil {
t.Fatal("transaction should be nil") t.Fatal("transaction should be nil")
@ -666,6 +667,7 @@ func testTransactionSender(t *testing.T, client *rpc.Client) {
// TransactionSender. Ensure the server is not asked by canceling the context here. // TransactionSender. Ensure the server is not asked by canceling the context here.
canceledCtx, cancel := context.WithCancel(context.Background()) canceledCtx, cancel := context.WithCancel(context.Background())
cancel() cancel()
<-canceledCtx.Done() // Ensure the close of the Done channel
sender1, err := ec.TransactionSender(canceledCtx, tx1, block2.Hash(), 0) sender1, err := ec.TransactionSender(canceledCtx, tx1, block2.Hash(), 0)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)