Agoric / agoric-sdk

monorepo for the Agoric Javascript smart contract platform
Apache License 2.0
327 stars 208 forks source link

acceptance test of upgrade #8961

Open turadg opened 8 months ago

turadg commented 8 months ago

What is the Problem Being Solved?

Our functional tests are all of HEAD. In /a3p-integration we now have robust testing of upgrades but they only cover the expected changes. We need coverage that the whole product still works as expected after the pending upgrade goes on chain.

Description of the Design

Have a virtual (empty) proposal that runs after all the others to test functionality that should always work regardless of upgrades performed.

Call it z:acceptance so it will always run last.

Its tests should verify that these important functions still work:

### Tasks
- [ ] https://github.com/Agoric/agoric-sdk/issues/10049

Security Considerations

Scaling Considerations

Test Plan

To be determined with Product

Upgrade Considerations

turadg commented 7 months ago

Let's be sure to move tests like core-eval.test.js from upgrade-next. E.g. to z:acceptance. https://github.com/Agoric/agoric-sdk/pull/9204/#discussion_r1566303891

dckc commented 6 months ago

perhaps a relevant subtask:

dckc commented 6 months ago

another relevant subtask:

I'm pretty sure such a test was built for upgrade-14, but it no longer runs for new releases.

mhofman commented 6 months ago

Yeah I think that test got removed in #9204. Might be worth to re-add it in a better place now that we have #9257

mhofman commented 4 months ago

One thing to consider is whether some tests should be able to setup some state before the upgrade so that it can be used by the acceptance layer after the upgrade. That would likely require setting up a "empty core eval" layer before the upgrade-next one.

LuqiPan commented 2 months ago

This is will be worked on by BytePitch folks(@anilhelvaci and @Jorge-Lopes)

dckc commented 2 months ago

stuff from the mainnet1 qualification effort:

https://github.com/Agoric/agoric-sdk/tree/mainnet1B-rc3/packages/deployment/upgrade-test/upgrade-test-scripts https://github.com/Agoric/agoric-sdk/blob/mainnet1B-rc3/packages/deployment/upgrade-test/upgrade-test-scripts/agoric-upgrade-10/actions.sh