metamask-extension icon indicating copy to clipboard operation
metamask-extension copied to clipboard

Fix Cascading test failures and reported as Ganache errors

Open hjetpoluru opened this issue 5 months ago • 4 comments

CI failure reported on Oct 18th (Add account should display correct new account name ...)

Build - Regular Browser - Chrome Test Path - /test/e2e/tests/account/add-account.spec.js Test Scenario -

  • Add account should display correct new account name after create
  • Add account should not affect public address when using secret recovery phrase to recover account with non-zero balance @no-mmi
  • Add account should be possible to remove an account imported with a private key, but should not be possible to remove an account generated from the SRP imported in onboarding @no-mmi

CI failure reported on Oct 18th (Snap Account Signatures @no-mmi can sign with reject...)

Build - Webpack Browser - Chrome Test Path -/test/e2e/tests/account/snap-account-signatures.spec.ts Test Scenario -

  • Snap Account Signatures @no-mmi can sign with approve flow
  • Snap Account Signatures @no-mmi can sign with reject flow

CI failure reported on Oct 17th (Gas estimates generated by MetaMask Send on a networ...)

Build - Regular Browser - Chrome Test Path -/test/e2e/tests/transaction/gas-estimates.spec.js Test Scenario -

  • Gas estimates generated by MetaMask Send on a network that is not EIP-1559 compatible show expected gas defaults on a network supported by legacy gas API when that API is down
  • Gas estimates generated by MetaMask Send on a network that is not EIP-1559 compatible show expected gas defaults on a network not supported by legacy gas API

Build - rpc-mmi Browser - Chrome Test Path -/test/e2e/json-rpc/switchEthereumChain.spec.js Test Scenario -

CI failure reported on Oct 17th (Switch Ethereum Chain for two dapps switches the cha...)

Build - rpc-mmi Browser - Chrome Test Path -/test/e2e/json-rpc/switchEthereumChain.spec.js Test Scenario -

  • Switch Ethereum Chain for two dapps switches the chainId of two dapps when switchEthereumChain of one dapp is confirmed
  • Switch Ethereum Chain for two dapps queues switchEthereumChain request from second dapp after send tx request
  • Switch Ethereum Chain for two dapps queues send tx after switchEthereum request with a warning, confirming removes pending tx
  • Switch Ethereum Chain for two dapps queues send tx after switchEthereum request with a warning, if switchEthereum request is cancelled should show pending tx

CI failure reported on Oct 17th (Snap Account Signatures @no-mmi can sign with approv...)

Build - Webpack Browser - Chrome Test Path -/test/e2e/tests/account/snap-account-signatures.spec.ts Test Scenario -

  • Snap Account Signatures @no-mmi can sign with approve flow
  • Snap Account Signatures @no-mmi can sign with reject flow

CI failure reported on Oct 16th (Request-queue UI changes should autoswitch networks ...)

CI failure reported on Oct 16th (Request-queue UI changes handles three confirmations...)

Build - Webpack Browser - Chrome Test Path -/test/e2e/tests/request-queuing/ui.spec.js Test Scenario -

  • Request-queue UI changes handles three confirmations on three confirmations concurrently @no-mmi
  • Request-queue UI changes should gracefully handle deleted network @no-mmi
  • Request-queue UI changes should signal from UI to dapp the network change @no-mmi
  • Request-queue UI changes should autoswitch networks to the last used network for domain

CI failure reported on Oct 14th (Create Snap Account @no-mmi create Snap account canc...)

Build - Webpack Browser - Chrome Test Path -/test/e2e/tests/account/create-snap-account.spec.ts Test Scenario -

  • Create Snap Account @no-mmi create Snap account canceling on confirmation screen results in error on Snap
  • Create Snap Account @no-mmi create Snap account canceling on fill name screen results in error on Snap

CI failure reported on Oct 14th(Confirmation Redesign ERC20 Approve Component Submit...)

Build - Regular Browser - Chrome Test Path - /test/e2e/tests/confirmations/transactions/revoke-allowance-redesign.spec.ts Test Scenario -

  • Confirmation Redesign ERC20 Approve Component Submit an Approve transaction @no-mmi Sends a type 0 transaction (Legacy)
  • Confirmation Redesign ERC20 Approve Component Submit an Approve transaction @no-mmi Sends a type 2 transaction (EIP1559)
  • Confirmation Redesign ERC20 Increase Allowance Submit an increase allowance transaction @no-mmi Sends a type 0 transaction (Legacy) with a small spending cap
  • Confirmation Redesign ERC20 Increase Allowance Submit an increase allowance transaction @no-mmi Sends a type 2 transaction (EIP1559) with a small spending cap
  • Confirmation Redesign ERC20 Increase Allowance Submit an increase allowance transaction @no-mmi Sends a type 0 transaction (Legacy) with a large spending cap
  • Confirmation Redesign ERC20 Increase Allowance Submit an increase allowance transaction @no-mmi Sends a type 2 transaction (EIP1559) with a large spending cap
  • Confirmation Redesign ERC20 Revoke Allowance Submit an revoke transaction @no-mmi Sends a type 0 transaction (Legacy)
  • Confirmation Redesign ERC20 Revoke Allowance Submit an revoke transaction @no-mmi Sends a type 2 transaction (EIP1559)

CI failure reported on Oct 11th (Snap Account Signatures can sign with approve flow)

Build - Webpack Browser - Chrome Test Path - /test/e2e/accounts/snap-account-signatures.spec.ts Test Scenario -

  • Snap Account Signatures can sign with approve flow
  • Snap Account Signatures can sign with reject flow

CI failure reported on Oct 9th (Sentry errors before initialization, after opting ou...)

Build - Regular Browser - Chrome Test Path - /test/e2e/tests/metrics/errors.spec.js Test Scenario -

  • Sentry errors before initialization, after opting out of metrics @no-mmi should NOT send error events in the background
  • Sentry errors before initialization, after opting out of metrics @no-mmi should NOT send error events in the UI
  • Sentry errors before initialization, after opting into metrics @no-mmi should send error events in background
  • Sentry errors before initialization, after opting into metrics @no-mmi should capture background application state
  • Sentry errors before initialization, after opting into metrics @no-mmi should send error events in UI
  • Sentry errors before initialization, after opting into metrics @no-mmi should capture UI application state
  • Sentry errors after initialization, after opting out of metrics @no-mmi should NOT send error events in the background
  • Sentry errors after initialization, after opting out of metrics @no-mmi should NOT send error events in the UI
  • Sentry errors after initialization, after opting into metrics @no-mmi should send error events in background
  • Sentry errors after initialization, after opting into metrics @no-mmi should capture background application state
  • Sentry errors after initialization, after opting into metrics @no-mmi should send error events in UI
  • Sentry errors after initialization, after opting into metrics @no-mmi should capture UI application state

CI failure reported on Oct 9th (Malicious Confirmation Signature - Bad Domain @no-mm...)

Build - Webpack Browser - Chrome Test Path - /test/e2e/tests/confirmations/signatures/malicious-signatures.spec.ts Test Scenario -

  • Malicious Confirmation Signature - Bad Domain @no-mmi initiates and rejects from confirmation screen
  • Malicious Confirmation Signature - Bad Domain @no-mmi initiates and rejects from alert friction modal

CI failure reported on Oct 8th (Request-queue UI changes handles three confirmations...)

Build - Webpack Browser - Chrome Test Path - /test/e2e/tests/request-queuing/ui.spec.js Test Scenario -

  • Request-queue UI changes should show network specific to domain @no-mmi
  • Request-queue UI changes handles three confirmations on three confirmations concurrently @no-mmi
  • Request-queue UI changes should gracefully handle deleted network @no-mmi
  • Request-queue UI changes should signal from UI to dapp the network change @no-mmi
  • Request-queue UI changes should autoswitch networks to the last used network for domain
  • Request-queue UI changes should autoswitch networks when last confirmation from another network is rejected
  • Request-queue UI changes should gracefully handle network connectivity failure for signatures @no-mmi
  • Request-queue UI changes should gracefully handle network connectivity failure for confirmations @no-mmi

CI failure reported on Sept 27(Malicious Confirmation Signature - Bad Domain @no-mm...)

Build - Webpack Browser - Chrome Test Path - /test/e2e/tests/confirmations/signatures/malicious-signatures.spec.ts Test Scenario -

  • Malicious Confirmation Signature - Bad Domain @no-mmi initiates and rejects from confirmation screen
  • Malicious Confirmation Signature - Bad Domain @no-mmi initiates and rejects from alert friction modal

CI failure reported on Sept 27(Snap Account Signatures can sign with sync flow)

Build - Webpack Browser - Chrome Test Path - /test/e2e/accounts/snap-account-signatures.spec.ts Test Scenario -

  • Snap Account Signatures can sign with sync flow
  • Snap Account Signatures can sign with approve flow
  • Snap Account Signatures can sign with reject flow
Error: Timeout of 120000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/circleci/project/test/e2e/accounts/snap-account-signatures.spec.ts)
    at listOnTimeout (node:internal/timers:581:17)
    at process.processTimers (node:internal/timers:519:7)

CI failure reported on Sept 26(Create token, approve token and approve token withou...

Build - Webpack Browser - Chrome Test Path - /test/e2e/tests/tokens/custom-token-add-approve.spec.js Test Scenario -

  • Create token, approve token and approve token without gas approves an already created token and displays the token approval data @no-mmi
  • Create token, approve token and approve token without gas set custom spending cap, customizes gas, edit spending cap and checks transaction in transaction list @no-mmi
  • Create token, approve token and approve token without gas set maximum spending cap, submits the transaction and finds the transaction in the transactions list @no-mmi
  • Create token, approve token and approve token without gas approves token without gas, set site suggested spending cap, submits the transaction and finds the transaction in the transactions list @no-mmi

CI failure reported on Sept 20 https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/101484/workflows/02584d3e-9e9d-49d9-9953-0944167dace6/jobs/3778719/tests

Build - Webpack Browser - Chrome Test Path - /test/e2e/tests/transaction/send-eth.spec.js Test Scenario -

  • Send ETH from inside MetaMask finds the transaction in the transactions list using advanced gas modal
  • Send ETH from inside MetaMask finds the transaction in the transactions list when sending to a Multisig Address
  • Send ETH from inside MetaMask shows no error when cancel transaction when sending via QR code
  • Send ETH from inside MetaMask from dapp using advanced gas controls should display the correct gas price on the legacy transaction
  • Send ETH from inside MetaMask from dapp using advanced gas controls should display correct gas values for EIP-1559 transaction
  • Send ETH from inside MetaMask to non-contract address with data that matches ERC20 transfer data signature renders the correct recipient on the confirmation screen

CI failure reported on Sept 20 https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/101369/workflows/6c8551cb-1b8c-4ff5-a912-889d65e289b2/jobs/3774012/tests

Build - mmi Browser - Chrome Test Path - /test/e2e/tests/signature/signature-request.spec.js Test Scenario -

  • Sign Typed Data Signature Request can queue multiple Signature Requests of Sign Typed Data V3 and reject
  • Sign Typed Data Signature Request can queue multiple Signature Requests of Sign Typed Data V4 and reject

CI failure reported on Sept 19 https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/101259/workflows/506f3637-17c1-42dd-82b0-8e62ee9e6ff3/jobs/3770240/tests

Build - Regular Browser - Chrome Test Path - /test/e2e/tests/metrics/dapp-viewed.spec.js Test Scenario -

  • Dapp viewed Event @no-mmi is sent when refreshing dapp with one account connected
  • Dapp viewed Event @no-mmi is sent when navigating to a connected dapp
  • Dapp viewed Event @no-mmi is sent when connecting dapp with two accounts
  • Dapp viewed Event @no-mmi is sent when reconnect to a dapp that has been connected before

CI failure reported on Sept 19 https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/101117/workflows/42636518-13bc-42c7-8624-9334fe1ca94f/jobs/3764726/tests

Build - mmi Browser - Chrome Test Path - /test/e2e/tests/settings/settings-search.spec.js Test Scenario -

  • Settings Search should find element inside the "Security & privacy" tab
  • Settings Search should find element inside the Alerts tab
  • Settings Search should find element inside the Networks tab
  • Settings Search should find element inside the Experimental tab
  • Settings Search should find element inside the About tab
  • Settings Search should display "Element not found" for a non-existing element

CI failure reported on Sept 17 https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/100638/workflows/39f21f3a-0ac3-454b-a34a-3abe8ec618ac/jobs/3747023/tests

Build - webpack Browser - Chrome Test Path - /test/e2e/tests/simulation-details/simulation-details.spec.ts Test Scenarios -

  • Simulation Details renders send eth transaction
  • Simulation Details renders buy ERC20 transaction
  • Simulation Details renders buy ERC721 transaction
  • Simulation Details renders buy ERC1155 transaction
  • Simulation Details renders no changes transaction
  • Simulation Details displays error message if transaction will fail or revert
  • Simulation Details does not display if chain is not supported
  • Simulation Details displays generic error message

Another CI failure reported on Sept 17 https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/100523/workflows/8e4175f9-0b34-416f-815d-2524eb92820e/jobs/3742442/tests

Build - webpack Browser - Chrome Test Path - /test/e2e/tests/transaction/send-eth.spec.js Test Scenario -

  • Send ETH from inside MetaMask finds the transaction in the transactions list using advanced gas modal
  • Send ETH from inside MetaMask finds the transaction in the transactions list when sending to a Multisig Address
  • Send ETH from inside MetaMask shows no error when cancel transaction when sending via QR code
  • Send ETH from inside MetaMask from dapp using advanced gas controls should display the correct gas price on the legacy transaction

CI failure reported on Sept 13 https://app.circleci.com/pipelines/github/MetaMask/metamask-extension/100198/workflows/7d530039-f9aa-486c-ab61-17e60c5647ca/jobs/3730323/tests

Build - mmi Browser - Chrome Test Path - /test/e2e/tests/network/add-custom-network.spec.js Test scenarios -

  • Custom network JSON-RPC API don't validate bad rpc custom network when toggle is off
  • Custom network JSON-RPC API don't add unreachable custom network
  • Custom network Popular Networks List add custom network and switch the network
  • Custom network Popular Networks List add custom network and not switch the network
  • Custom network Popular Networks List delete the Arbitrum network
  • Custom network Popular Networks List when the network details validation toggle is turned on, validate user inserted details against data from 'chainid.network'
  • Custom network Popular Networks List when the network details validation toggle is turned off, don't validate user inserted details
  • Custom network customNetwork should add mainnet network
  • Custom network customNetwork should check symbol and show warnings
  • Custom network customNetwork should add collision network

Initial error message for the first test scenario

Error: Timeout of 80000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/circleci/project/test/e2e/tests/network/add-custom-network.spec.js)
    at listOnTimeout (node:internal/timers:581:17)
    at process.processTimers (node:internal/timers:519:7)
Error: listen EADDRINUSE: address already in use 127.0.0.1:8545.
  (Ran on CircleCI Node 1 of 12, Job test-e2e-chrome-mmi)
    at /home/circleci/project/node_modules/ganache/dist/node/1.js:2:5133
    at async Promise.allSettled (index 1)
    at async Ganache.start (test/e2e/seeder/ganache.ts:2:1285)
    at async withFixtures (test/e2e/helpers.js:105:7)
    at async Context.<anonymous> (test/e2e/tests/network/add-custom-network.spec.js:393:7)

hjetpoluru avatar Sep 13 '24 13:09 hjetpoluru