-
Notifications
You must be signed in to change notification settings - Fork 143
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
[spike] Refactor TestIssueAtomicTxs as an integration test #377
Conversation
b001053
to
ab74f52
Compare
58dd28a
to
b384047
Compare
c1a8164
to
8746622
Compare
308266a
to
923dc81
Compare
4fe7024
to
4843b22
Compare
420e05a
to
8860ccd
Compare
e1b330b
to
e9ba3d7
Compare
assert.Equal(t, uint64(2), height, "expected height of indexed export tx to be 2") | ||
assert.Equal(t, indexedExportTx.ID(), exportTx.ID(), "expected ID of indexed import tx to match original txID") | ||
} | ||
|
||
func TestBuildEthTxBlock(t *testing.T) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should be confident that the fixture can interface with most if not all the tests in vm_test.go vm_warp_test.go, (eg, do some of these instantiate more than 1 vm?)
Some of the tests in syncervm_test.go are also candidates, but somewhat a stretch goal.
var fixture IntegrationFixture | ||
if e2e.Env == nil { | ||
// Shared network fixture not initialized, return a vm fixture | ||
fixture = evm.CreateVMFixture(ginkgo.GinkgoT()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
smaller comment: Should we consider calling the light (VM) fixture from the unit tests? This would continue running them with race detection, and on the different OS-es.
I like what this change achieves. I think it makes sense to run the "VM-level unit tests" against a full node. |
This has been paused indefinitely and its compatibility with the intended fork maintenance strategy is uncertain. Closing for now, but leaving the branch in case someone wants to pick it up in the future. |
Why this should be merged
This refactor is intended to demonstrate the potential of writing integration tests against a fixture interface that can be implemented by both a bare VM and a network API. This should support more comprehensive test coverage for minimal additional cost.
How this works
How this was tested
A new integration test suite that includes the refactored test is executed in CI (via
scripts/tests.integration.sh
) as part of the unit test job (with vm fixture) and a new integration test job (with network fixture).TODO