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

Stop using the Lotus itest framework for integration tests #109

Open
hannahhoward opened this issue Nov 22, 2022 · 0 comments
Open

Stop using the Lotus itest framework for integration tests #109

hannahhoward opened this issue Nov 22, 2022 · 0 comments

Comments

@hannahhoward
Copy link
Contributor

What

I want to raise awareness that this repo's use of Lotus itest framework for integration tests makes updates of modules dependencies quite difficult, or at minimum tied to lotus also updating sudependencies. These tests work by spinning up simulation nodes of lotus and lotus miner as well as filclient in a single process within a go test. Because these nodes are all in the same process, they are all essentially locked to the same go module dependency graph in order to compile. This essentially means that not only is filclient locked to its Lotus version, but it's locked to all of Lotus's sub dependencies. This means for example the entire libp2p and transfer stack must be on the same version as Lotus

Proposed solution

Bedrock has the same problem in Boost. I've filed an issue here -- filecoin-project/boost#990 -- my proposed solution is something based on docker, though the specifics aren't ironed out. I think once we solve it in Boost we can try to port a similar situation to filclient, for feel free to try your own approaches.

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