From ca2b6c6ccb9b7749ff3df461b1d705117833e267 Mon Sep 17 00:00:00 2001
From: Asa Oines
Date: Thu, 24 Oct 2019 16:27:23 -0700
Subject: [PATCH 1/2] Update governance end-to-end tests to work with changed
precompile
---
packages/celotool/src/e2e-tests/governance_tests.ts | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/packages/celotool/src/e2e-tests/governance_tests.ts b/packages/celotool/src/e2e-tests/governance_tests.ts
index a49df9a9615..40ba1c648cf 100644
--- a/packages/celotool/src/e2e-tests/governance_tests.ts
+++ b/packages/celotool/src/e2e-tests/governance_tests.ts
@@ -174,9 +174,6 @@ describe('governance tests', () => {
await sleep(epoch)
})
- // Note that this returns the validator set at the END of `blockNumber`, i.e. the validator set
- // that will validate the next block, and NOT necessarily the validator set that validated this
- // block.
const getValidatorSetAtBlock = async (blockNumber: number) => {
const validatorSetSize = await election.methods
.numberValidatorsInCurrentSet()
@@ -212,9 +209,7 @@ describe('governance tests', () => {
it('should only have created blocks whose miner was in the current validator set', async () => {
for (const blockNumber of blockNumbers) {
- // The validators responsible for creating `blockNumber` were those in the validator set at
- // `blockNumber-1`.
- const validatorSet = await getValidatorSetAtBlock(blockNumber - 1)
+ const validatorSet = await getValidatorSetAtBlock(blockNumber)
const block = await web3.eth.getBlock(blockNumber)
assert.include(validatorSet.map((x) => x.toLowerCase()), block.miner.toLowerCase())
}
@@ -257,7 +252,7 @@ describe('governance tests', () => {
let expectUnchangedScores: string[]
let expectChangedScores: string[]
if (isLastBlockOfEpoch(blockNumber, epoch)) {
- expectChangedScores = await getValidatorSetAtBlock(blockNumber - 1)
+ expectChangedScores = await getValidatorSetAtBlock(blockNumber)
expectUnchangedScores = allValidators.filter((x) => !expectChangedScores.includes(x))
} else {
expectUnchangedScores = allValidators
@@ -314,7 +309,7 @@ describe('governance tests', () => {
let expectUnchangedBalances: string[]
let expectChangedBalances: string[]
if (isLastBlockOfEpoch(blockNumber, epoch)) {
- expectChangedBalances = await getValidatorSetAtBlock(blockNumber - 1)
+ expectChangedBalances = await getValidatorSetAtBlock(blockNumber)
expectUnchangedBalances = allValidators.filter((x) => !expectChangedBalances.includes(x))
} else {
expectUnchangedBalances = allValidators
From a105771b2181e6f285aef331049cf45d59ee2267 Mon Sep 17 00:00:00 2001
From: Asa Oines
Date: Thu, 24 Oct 2019 17:43:57 -0700
Subject: [PATCH 2/2] Fix tests
---
packages/celotool/src/e2e-tests/governance_tests.ts | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/packages/celotool/src/e2e-tests/governance_tests.ts b/packages/celotool/src/e2e-tests/governance_tests.ts
index 40ba1c648cf..b026ba5ff24 100644
--- a/packages/celotool/src/e2e-tests/governance_tests.ts
+++ b/packages/celotool/src/e2e-tests/governance_tests.ts
@@ -187,9 +187,14 @@ describe('governance tests', () => {
return validatorSet
}
+ const getLastEpochBlock = (blockNumber: number) => {
+ const epochNumber = Math.floor((blockNumber - 1) / epoch)
+ return epochNumber * epoch
+ }
+
it('should always return a validator set size equal to the number of group members at the end of the last epoch', async () => {
for (const blockNumber of blockNumbers) {
- const lastEpochBlock = blockNumber - (blockNumber % epoch)
+ const lastEpochBlock = getLastEpochBlock(blockNumber)
const validatorSetSize = await election.methods
.numberValidatorsInCurrentSet()
.call({}, blockNumber)
@@ -200,7 +205,7 @@ describe('governance tests', () => {
it('should always return a validator set equal to the group members at the end of the last epoch', async () => {
for (const blockNumber of blockNumbers) {
- const lastEpochBlock = blockNumber - (blockNumber % epoch)
+ const lastEpochBlock = getLastEpochBlock(blockNumber)
const groupMembership = await getValidatorGroupMembers(lastEpochBlock)
const validatorSet = await getValidatorSetAtBlock(blockNumber)
assert.sameMembers(groupMembership, validatorSet)