Skip to content

[Bug-Candidate]: OpenZeppelin's UUPSUpgradeable seems to mess up coverage #1324

Open
@rappie

Description

@rappie

Describe the issue:

The coverage report shows no coverage for contracts inheriting UUPSUpgradeable

Code example to reproduce the issue:

// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;

import { UUPSUpgradeable } from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";

// contract CoverMe {
contract CoverMe is UUPSUpgradeable {
    function doSomething() public pure returns (uint256) {
        uint256 something = 2;
        return something;
    }

    function _authorizeUpgrade(address) internal override { }
}

contract Fuzz {
    CoverMe coverMe;

    constructor() payable {
        coverMe = new CoverMe();
    }

    function testCoverage() public view {
        uint something = coverMe.doSomething();
        assert(something == 0);
    }
}

image

Version:

2.2.5 (latest master build)

Relevant log output:

Traces:
call 0xb4c79daB8f259C7Aee6E5b2Aa729821864227e84::doSomething() (../Fuzz.sol:24)
 └╴← (2)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions