VECHAIN Docs
Ask or search…
K
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.

Summary Table

Category
Short Description
Failures
Justifiable
Failures that result from the inherent design differences between Vechain and Ethereum.
73
Contract Address Prediction
See here.
14
Failures in Constructor
Contract fails in constructor resulting in failure to be deployed.
7
Full, with eth_sign implementation
See here.
4
Full, with test changes
Some test modifications had to be added for the tests to pass.
3
BadBeaconProxy Address 0x1
See here.
1

Detailed Table

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