Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ethereum adapter has no tests #828

Closed
benjamincburns opened this issue May 6, 2020 · 1 comment
Closed

Ethereum adapter has no tests #828

benjamincburns opened this issue May 6, 2020 · 1 comment

Comments

@benjamincburns
Copy link
Contributor

Context

A recent PR broke the Ethereum adapter in a way that would have been very apparent if we had some tests guarding even its most basic functionality. The PR changed the web3 dependency to a much older version.

Expected Behavior

CI would have caught the mistake.

Actual Behavior

The change was merged, and the ethereum adapter was completely broken.

Possible Fix

An end-to-end test that runs a very minimal benchmark against the headless version of ganache. Ganache is a tool from Truffle, written in JavaScript, that emulates an ethereum network.

(Disclosure: I used to be the maintainer of Ganache).

Steps to Reproduce

  1. Submit a PR that changes the web3 dependency of the caliper-ethereum module to 0.22.x.
  2. Observe that CI checks do not fail.

Context

I work with the PegaSys team now, and my primary focus is on improving the performance of Hyperledger Besu. My benchmarking automation was relying on master, as there were other in-flight bug fixes that I needed. When the PR in question was merged, my benchmarking automation broke, and I needed to pin it to an earlier commit hash.

Your Environment

  • Version used: master
  • Environment name and version (e.g. Chrome 39, node.js 5.4): N/A
  • Operating System and version (desktop or mobile): N/A
  • Link to your project: https://github.com/hyperledger/besu
@benjamincburns
Copy link
Contributor Author

Turns out that there are integration tests for the ethereum adapter - I just didn't see them, as they were in a different module. The PR in question didn't break things for HTTP RPC connections, but it did break things for websockets. With my changes in #829, were the same PR to be put through again, I'd expect CI to catch it.

As a result, I'm closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant