You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 8, 2023. It is now read-only.
As we move towards leveling up our testing infrastructure, I think we need to clearly define some scenarios we expect ipfs to be used in, and make tests to verify these things work continuously.
Some of these will be very basic, some may be more complex. This list is not complete or exhaustive, its just a start of some things we need to focus on.
Moving a medium sized file across the internet
One long lived node adds a file of roughly 200MB. Other nodes, a mixture of long lived and short lived newly spawned nodes fetch this file periodically (and gc the file out after their portion of the test is complete).
Swarm downloading a small file
Some small number of nodes adds a file ( probably less than 10MB, but big enough to be more than a few blocks). Then a large number of nodes (at least ten times the number of adder nodes) starts fetching that file all at the same time.
Verify cross network connectivity
Some long lived node (or set of nodes) acts as the 'connector'. Periodically, new nodes join the network and bootstrap to a small portion of the network, then the connector tries to ping the new node so that they connect and start exchanging some data between them.
Node reboots during file transfers don't cause issues
Node A adds a fairly large file, and Node B starts fetching it. Part of the way through the transfer node A should go offline, and then come back online after a short period of time.
The transfer should continue shortly after the node comes back online.
pubsub swarm over long period of time
Start up a decent number of nodes (at least 20, perhaps up to 100) and connect them sparsely. Have them all subscribe to a subset of some topic set and then have them publish messages at random to the swarm, ensuring that all subscribed nodes received messages they are expected to.
Long lived would ideally be weeks. Short lived anywhere from several
minutes to a couple hours.
Really we want to be testing everywhere in between, but there's only so
much we can do at once
As we move towards leveling up our testing infrastructure, I think we need to clearly define some scenarios we expect ipfs to be used in, and make tests to verify these things work continuously.
Some of these will be very basic, some may be more complex. This list is not complete or exhaustive, its just a start of some things we need to focus on.
Moving a medium sized file across the internet
One long lived node adds a file of roughly 200MB. Other nodes, a mixture of long lived and short lived newly spawned nodes fetch this file periodically (and gc the file out after their portion of the test is complete).
Swarm downloading a small file
Some small number of nodes adds a file ( probably less than 10MB, but big enough to be more than a few blocks). Then a large number of nodes (at least ten times the number of adder nodes) starts fetching that file all at the same time.
Verify cross network connectivity
Some long lived node (or set of nodes) acts as the 'connector'. Periodically, new nodes join the network and bootstrap to a small portion of the network, then the connector tries to ping the new node so that they connect and start exchanging some data between them.
Node reboots during file transfers don't cause issues
Node A adds a fairly large file, and Node B starts fetching it. Part of the way through the transfer node A should go offline, and then come back online after a short period of time.
The transfer should continue shortly after the node comes back online.
pubsub swarm over long period of time
Start up a decent number of nodes (at least 20, perhaps up to 100) and connect them sparsely. Have them all subscribe to a subset of some topic set and then have them publish messages at random to the swarm, ensuring that all subscribed nodes received messages they are expected to.
TODO: add more
cc @lgierth @Kubuxu @FrankPetrilli @victorbjelkholm @diasdavid
The text was updated successfully, but these errors were encountered: