oceanprotocol / df-py

veOCEAN & Data Farming backend
Apache License 2.0
3 stars 9 forks source link

test_alice_locks_tokens & test_velock_whitelisted are failing #575

Closed trentmc closed 1 year ago

trentmc commented 1 year ago

NOTE: so that CI is clean, these tests are skipped until this issue gets fixed. Via commit https://github.com/oceanprotocol/df-py/commit/48de5ee2b20143f6edc6f1b7139fda105235862e

How to reproduce

They showed up in CI on about May 12

Yet all tests passed between then! So it's sporadic.

Traceback: test_alice_locks_tokens

...
___________________________ test_alice_locks_tokens ____________________________

    @enforce_types
    def test_alice_locks_tokens():
        """Lock tokens then check balance."""
        veOCEAN.checkpoint({"from": alice})
        OCEAN.approve(veOCEAN.address, TA, {"from": alice})

        t0 = chain.time()
        t1 = t0 // WEEK * WEEK + WEEK
        t2 = t1 + YEAR
        chain.sleep(t1 - t0)
        chain.mine()

        assert OCEAN.balanceOf(alice) != 0

        veOCEAN.create_lock(TA, t2, {"from": alice})

        assert OCEAN.balanceOf(alice) == 0

        epoch = veOCEAN.user_point_epoch(alice)
        assert epoch != 0

        assert veOCEAN.get_last_user_slope(alice) != 0
>       aliceVotingPower = (veOCEAN.balanceOf(alice, chain.time())) / toBase18(1.0)
E       brownie.exceptions.VirtualMachineError: revert

util/test/veOcean/test_lock.py:45: VirtualMachineError
---------------------------- Captured stdout setup -----------------------------
mnemonic: 'usual body render message material high country group seed eight insect that'
mnemonic: 'weird slot good beauty develop strike member benefit taxi escape fly skate'

Traceback: test_velock_whitelisted

...
___________________________ test_velock_whitelisted ____________________________

    @enforce_types
    def test_velock_whitelisted():
        """Test that a whitelisted contract can create a lock."""

        # Assert that the contract is whitelisted
        smartWalletChecker.setAllowedContract(veLocker, True, {"from": deployer})
        assert smartWalletChecker.check(veLocker) == True

        t0 = chain.time()
        t1 = t0 // WEEK * WEEK + WEEK
        t2 = t1 + WEEK
        chain.sleep(t1 - t0)

        assert OCEAN.balanceOf(veLocker) != 0
        veLocker.create_lock(TA, t2, {"from": deployer})
        assert OCEAN.balanceOf(veLocker) == 0

        epoch = veOCEAN.user_point_epoch(veLocker)
        assert epoch != 0

        assert veOCEAN.get_last_user_slope(veLocker) != 0
>       veLockerVotingPower = (veOCEAN.balanceOf(veLocker, chain.time())) / toBase18(1.0)
E       brownie.exceptions.VirtualMachineError: revert

util/test/veOcean/test_whitelist_sc.py:52: VirtualMachineError
trentmc commented 1 year ago

Failure was either one-time or sporadic. Un-skipped, move on

trentmc commented 1 year ago

It's still happening :(