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

Problem When Setting Up Integration Tests #31

Open
anilhelvaci opened this issue Mar 4, 2024 · 0 comments
Open

Problem When Setting Up Integration Tests #31

anilhelvaci opened this issue Mar 4, 2024 · 0 comments

Comments

@anilhelvaci
Copy link
Collaborator

anilhelvaci commented Mar 4, 2024

Problem Definition

So far we haven't considered the case where the version of the agoric-sdk will probably be different to one in the a3p image. The OpCo stated that our work will probably be on top of agoric-upgrade-15 , so we based our work on tmp-upgrade-15, and the latest a3p image is built on top of agoric-upgrade-13. This situation creates an asymmetry when we try to make our features work on the latest a3p image as our work includes contribution to some packages of the sdk that are other than inter-protocol package.

This situation creates two main problems;

  1. What are we going to do with the code that is outside of inter-protocol package?
    Given that the piece of code we're talking about here is just a helper function it's possible to move to vaultManager and not import when using it. However, we believe that it's a useful utility method that other devs might also need.

  2. What version of agoric-sdk should we build our proposals on?
    Depending on version of the agoric-sdk, endoZipBase64Sha512 of our proposal bundles changes. This makes it harder to build a deterministic test environment where we're certain of what we're testing is actually what've built.

    • What makes it even more complicated is that our post eval test cases require that we make a vaults liquidation happen in order to test our features. To create a controlled liquidation we must control the timer auctioneer and vaultFactory uses. Both auctioneer and vaultFactory accepts timerService from their terms which cannot be updated in a later incarnation without any source code changes.

Solution

Problem 1

Move allValuesSettled method to vaultManager and open a separate PR where it's added to @agoric/internal.

Problem 2

We don't know if our code work on agoric-upgrade-13 as is. We should rebase the code in develop onto agoric-upgeade-13 and run our tests.
* If they work as is, bundle the code from agoric-upgrade-13
* If not => ?

Luckily, there were no conflicts when rebasing develop onto upstream/agoric-upgrade-13 and all tests passed.

Problem 2.b

Perform a separate upgrade just for post eval tests where the source code replaces the timerService with the one we're passing from privateArgs over the one sent through terms.

anilhelvaci added a commit that referenced this issue Mar 4, 2024
All liquidation visibility tests passed

Refs: #31
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