Comment on page
Test Coverage
The tables below provides a summary and detailed information in relation to the number of tests performed, the count of passing tests and the count of failing tests.
To summarize, Vechain achieves a pass rate of 99%, when taking into consideration that 80 of the 102 failing tests are classified as being either justifiable or passable, given some modifications to the tests.
You can find detailed analysis of the coverage categories in the pages to follow.
Category | Short Description | Failures |
---|---|---|
Justifiable | Failures that result from the inherent design differences between Vechain and Ethereum. | 73 |
Contract Address Prediction | 14 | |
Failures in Constructor | Contract fails in constructor resulting in failure to be deployed. | 7 |
Full, with eth_sign implementation | 4 | |
Full, with test changes | Some test modifications had to be added for the tests to pass. | 3 |
BadBeaconProxy Address 0x1 | 1 |
Contract Name | Test Coverage | Pass | Fail | Total |
---|---|---|---|---|
Total | 2324 | 102 | 2426 | |
ERC1967Proxy | Failures in Constructor | 25 | 3 | 28 |
TransparentUpgradeableProxy | Failures in Constructor | 58 | 3 | 61 |
BeaconProxy | Failures in Constructor BadBeaconProxy Address 0x1 | 7 | 2 | 9 |
GovernorTimelockCompound | Contract Address Prediction | 7 | 12 | 19 |
GovernorCompatibilityBravo | Contract Address Prediction | 7 | 2 | 9 |
TimelockController | Justifiable | 27 | 15 | 42 |
CrossChainEnabled | Justifiable | 4 | 9 | 13 |
GovernorTimelockControl | Justifiable | 12 | 9 | 21 |
AccessControl | Justifiable | 50 | 4 | 54 |
MinimalForwarder | Justifiable | 12 | 4 | 16 |
TokenTimelock | Justifiable | 3 | 4 | 7 |
VestingWallet | Justifiable | 2 | 4 | 6 |
ERC721Enumerable | Justifiable | 233 | 3 | 236 |
DoubleEndedQueue | Justifiable | 7 | 2 | 9 |
ERC2771Context | Justifiable | 5 | 2 | 7 |
ERC721 | Justifiable | 211 | 2 | 213 |
Governor | Justifiable | 42 | 2 | 44 |
Checkpoints | Justifiable | 22 | 1 | 23 |
ERC1155 | Justifiable | 83 | 1 | 84 |
ERC1155Holder | Justifiable | 4 | 1 | 5 |
ERC1155PresetMinterPauser | Justifiable | 16 | 1 | 17 |
ERC165 | Justifiable | 2 | 1 | 3 |
ERC165Storage | Justifiable | 4 | 1 | 5 |
ERC20Votes | Justifiable | 28 | 1 | 29 |
ERC20VotesComp | Justifiable | 27 | 1 | 28 |
ERC721PresetMinterPauserAutoId | Justifiable | 15 | 1 | 16 |
ERC721Royalty | Justifiable | 13 | 1 | 14 |
GovernorWithParams | Justifiable | 3 | 1 | 4 |
MerkleProof | Justifiable | 8 | 1 | 9 |
TimersTimestamp | Justifiable | 4 | 1 | 5 |
ECDSA | Full, with eth_sign implementation | 14 | 3 | 17 |
SignatureChecker (ERC1271) | Full, with eth_sign implementation | 1 | 1 | 1 |
ERC1820Implementer | Full, with test changes | 1 | 1 | 1 |
ERC777 | Full, with test changes | 1 | 1 | 1 |
ERC777PresetFixedSupply | Full, with test changes | 1 | 1 | 1 |
Address | 29 | 0 | 29 | |
Arrays | 15 | 0 | 15 | |
BitMap | 10 | 0 | 10 | |
Clones | 30 | 0 | 30 | |
ConditionalEscrow | 11 | 0 | 11 | |
Context | 4 | 0 | 4 | |
Counters | 8 | 0 | 8 | |
Create2 | 8 | 0 | 8 | |
EIP712 | 2 | 0 | 2 | |
EnumerableMap | 70 | 0 | 70 | |
EnumerableSet | 20 | 0 | 24 | |
ERC1155Burnable | 6 | 0 | 6 | |
ERC1155Pausable | 11 | 0 | 11 | |
ERC1155Supply | 10 | 0 | 10 | |
ERC1155URIStorage | 4 | 0 | 4 | |
ERC165Checker | 40 | 0 | 40 | |
ERC20 | 118 | 0 | 118 | |
ERC20Burnable | 13 | 0 | 13 | |
ERC20Capped | 5 | 0 | 5 | |
ERC20FlashMint | 12 | 0 | 12 | |
ERC20Pausable | 12 | 0 | 12 | |
ERC20Permit | 6 | 0 | 6 | |
ERC20PresetFixedSupply | 4 | 0 | 4 | |
ERC20PresetMinterPauser | 12 | 0 | 12 | |
ERC20Snapshot | 14 | 0 | 14 | |
ERC4626 | 25 | 0 | 25 | |
ERC721Burnable | 4 | 0 | 4 | |
ERC721Consecutive | 13 | 0 | 13 | |
ERC721Holder | 1 | 0 | 1 | |
ERC721Pausable | 10 | 0 | 10 | |
ERC721URIStorage | 10 | 0 | 10 | |
ERC721Votes | 26 | 0 | 26 | |
Escrow | 10 | 0 | 10 | |
GovernorComp | 2 | 0 | 2 | |
GovernorERC721Mock | 2 | 0 | 2 | |
GovernorPreventLateQuorum | 5 | 0 | 5 | |
GovernorVotesQuorumFraction | 6 | 0 | 6 | |
Initializable | 29 | 0 | 29 | |
Math | 25 | 0 | 25 | |
MulticallToken | 4 | 0 | 4 | |
Ownable | 6 | 0 | 6 | |
Ownable2Step | 5 | 0 | 5 | |
Pausable | 11 | 0 | 11 | |
PaymentSplitter | 20 | 0 | 20 | |
ProxyAdmin | 12 | 0 | 12 | |
PullPayment | 4 | 0 | 4 | |
ReentrancyGuard | 6 | 0 | 6 | |
RefundEscrow | 17 | 0 | 17 | |
SafeCast | 444 | 0 | 444 | |
SafeERC20 | 35 | 0 | 35 | |
SafeMath | 48 | 0 | 48 | |
SignedMath | 12 | 0 | 12 | |
SignedSafeMath | 17 | 0 | 17 | |
StorageSlot | 12 | 0 | 12 | |
Strings | 31 | 0 | 31 | |
TimersBlockNumber | 5 | 0 | 5 | |
UpgradeableBeacon | 5 | 0 | 5 | |
UUPSUpgradeable | 6 | 0 | 6 | |
Votes | 23 | 0 | 23 |
Last modified 4mo ago