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

refine bootstrap tests to simulate upgrade from what's on chain #7968

Open
dckc opened this issue Jun 22, 2023 · 5 comments
Open

refine bootstrap tests to simulate upgrade from what's on chain #7968

dckc opened this issue Jun 22, 2023 · 5 comments
Labels
enhancement New feature or request SwingSet package: SwingSet test Zoe package: Zoe

Comments

@dckc
Copy link
Member

dckc commented Jun 22, 2023

What is the Problem Being Solved?

For agoric-upgrade-10, the bootstrap ava tests were good for reasonably fast iteration with the benefit of debugger access. But as we revise components such as zoe, they bootstrap with the new code. But what we need to do is test the revised components in the context of a chain that bootstrapped from the earlier code.

Description of the Design

options include:

  • start an agoric-upgrade-10 like chain (using the docker upgrade-test framework, for example) and capture the kernel DB for use as a test fixture. Where we currently use makeSwingsetTestKit to initialize swingset, instead continue from the fixture DB.
  • bundle the agoric-upgrade-10 components as test fixtures and use them to initialize the swingset

Security / Scaling Considerations

none?

Test Plan

This is all about designing a test plan.

cc @turadg @Chris-Hibbert

@dckc dckc added enhancement New feature or request SwingSet package: SwingSet Zoe package: Zoe test labels Jun 22, 2023
@Chris-Hibbert
Copy link
Contributor

#7969 is my current work-around. It's a test that will run at top-of-tree before the changes, and upgrade to bundles that were produced in a PR that includes the changes (#7966). I don't expect to check 7969 in, it's just there to give my reviewers confidence that the changes would work if installed. The scripts in 7966 and 7969 could probably be used in the upgrade-test framework.

@dckc
Copy link
Member Author

dckc commented Jul 17, 2023

splicing a bundle for zoe into the bootstrap is one thing, cuz it's in the swingset config file bundles section. But the vaultFactory and auction contracts come in by way of coreProposals. @michaelfig any clues?

@dckc
Copy link
Member Author

dckc commented Jul 17, 2023

I explored the idea of resuming from a swingset DB... it might work if we're OK with XS workers. But node workers are pretty valuable for debugging. Is there a way to ignore the difference during replay? @mhofman ? @FUDCo

@mhofman
Copy link
Member

mhofman commented Jul 17, 2023

Is there a way to ignore the difference during replay?

Can you clarify what you mean? Are you trying to replay XS worker transcripts in a node worker? I don't know if we'd be able to support that given the major GC differences.

@dckc
Copy link
Member Author

dckc commented Jul 17, 2023

Are you trying to replay XS worker transcripts in a node worker?

yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request SwingSet package: SwingSet test Zoe package: Zoe
Projects
None yet
Development

No branches or pull requests

3 participants