Преглед на файлове

chainspec and runtime upgrade removal (#11)

Chainspec and runtime upgrade removed, also small fixes and improvements
gleb-urvanov преди 4 години
родител
ревизия
f643c0e87e

+ 1 - 1
.github/workflows/run-network-tests.yml

@@ -22,4 +22,4 @@ jobs:
       - name: ansible build and tests
         run: |
           cd ./devops/ansible
-          ansible-playbook -i hosts build-and-run-tests-exported-chainspec-playbook.yml --become -v
+          ansible-playbook -i hosts build-and-run-tests-single-node-playbook.yml --become -v

+ 7 - 2
devops/ansible/roles/install_dependencies/tasks/main.yml

@@ -37,5 +37,10 @@
     name: yarn
     global: yes
 
-#- name: Install docker compose
-#  pip: name=docker-compose
+- name: Install pyrsistent
+  pip:
+    name: pyrsistent==0.16.0
+
+- name: Install docker compose
+  pip:
+    name: docker-compose==1.26.2

+ 1 - 1
tests/network-tests/package.json

@@ -4,7 +4,7 @@
   "license": "GPL-3.0-only",
   "scripts": {
     "build": "tsc --build tsconfig.json",
-    "test": "tap --files src/iznik/tests/unknown.unknown src/iznik/tests/councilSetup.ts src/iznik/tests/proposals/*Test.ts src/iznik/tests/leaderSetup.ts src/iznik/tests/workingGroup/*Test.ts src/iznik/tests/proposals/updateRuntime.ts -T",
+    "test": "rm -f ../../.tmp/db.json && tap --files src/iznik/tests/unknown.unknown src/iznik/tests/councilSetup.ts src/iznik/tests/proposals/*Test.ts src/iznik/tests/leaderSetup.ts src/iznik/tests/workingGroup/*Test.ts -T",
     "test-migration-constantinople": "tap --files src/rome/tests/romeRuntimeUpgradeTest.ts --files src/constantinople/tests/electingCouncilTest.ts -T",
     "test-migration-nicaea": "tap --files src/constantinople/tests/proposals/updateRuntimeTest.ts --files src/nicaea/tests/electingCouncilTest.ts -T",
     "debug": "tap --files src/iznik/tests/workingGroup/workerPayoutTest.ts -T",

+ 9 - 0
tests/network-tests/src/iznik/tests/fixtures/workingGroupModule.ts

@@ -377,6 +377,15 @@ export class FillOpeningFixture implements Fixture {
         )
       )
     ).flat()
+    // Assert max number of workers is not exceeded
+    const activeWorkersCount: BN = await this.apiWrapper.getActiveWorkersCount(this.module)
+    const maxWorkersCount: BN = this.apiWrapper.getMaxWorkersCount(this.module)
+    assert(
+      activeWorkersCount.addn(applicationIds.length).lte(maxWorkersCount),
+      `The number of workers ${activeWorkersCount.addn(
+        applicationIds.length
+      )} will exceed max workers count ${maxWorkersCount}`
+    )
 
     // Fill worker opening
     const now: BN = await this.apiWrapper.getBestBlock()

+ 8 - 0
tests/network-tests/src/iznik/utils/apiWrapper.ts

@@ -1885,4 +1885,12 @@ export class ApiWrapper {
   public async getLeadWorkerId(module: WorkingGroups): Promise<WorkerId | undefined> {
     return (await this.api.query[module].currentLead<Option<WorkerId>>()).unwrapOr(undefined)
   }
+
+  public async getActiveWorkersCount(module: WorkingGroups): Promise<BN> {
+    return this.api.query[module].activeWorkerCount<u32>()
+  }
+
+  public getMaxWorkersCount(module: WorkingGroups): BN {
+    return this.api.createType('u32', this.api.consts[module].maxWorkerNumberLimit)
+  }
 }