Skip to content

Commit

Permalink
chore: allow tests to run in parallel
Browse files Browse the repository at this point in the history
  • Loading branch information
AlicanC committed Jun 23, 2022
1 parent 5508167 commit c8db139
Show file tree
Hide file tree
Showing 5 changed files with 335 additions and 12 deletions.
37 changes: 35 additions & 2 deletions jest.env.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,36 @@
import { wallet } from './services/fuel-core/chainConfig.json';
import { hexlify } from '@ethersproject/bytes';

process.env.GENESIS_SECRET = wallet.privateKey;
import faucets from './services/fuel-core/faucets.json';

/**
* Gets the private key for the current Jest worker.
*
* The PK is basically the current worker's ID. This allows us to
* have a unique faucet wallet for each file being tested and prevents
* tests from trying to access to the same coins and fail.
*
* Both `faucets.json` and `initial_state.coins` in `chainConfig.json`
* were manually generated to support at most 16 workers.
*
* For each wallet in `faucets.json`, there are three coins for each
* of the following Asset IDs:
* - 0x0000000000000000000000000000000000000000000000000000000000000000
* - 0x0101010101010101010101010101010101010101010101010101010101010101
* - 0x0202020202020202020202020202020202020202020202020202020202020202
*
* See: https://jestjs.io/docs/environment-variables#jest_worker_id
*/
const getPrivateKeyForCurrentWorker = () => {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const workerId = Number.parseInt(process.env.JEST_WORKER_ID!, 10);

if (workerId > faucets.length) {
throw new Error(`At most ${faucets.length} workers are supported.`);
}

const privateKey = hexlify([workerId]);

return privateKey;
};

process.env.GENESIS_SECRET = getPrivateKeyForCurrentWorker();
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
"build:watch": "turbo run build --parallel -- --watch",
"ci:test": "./scripts/ci-test.sh",
"ci:test:coverage": "./scripts/ci-test.sh --coverage",
"test": "jest --runInBand",
"test": "jest",
"test:watch": "jest --watchAll",
"test:coverage": "jest --ci --coverage --testLocationInResults --runInBand",
"test:coverage": "jest --ci --coverage --testLocationInResults",
"lint": "run-s lint:check prettier:check",
"lint:check": "eslint . --ext .ts",
"lint:fix": "pnpm lint:check -- --fix",
Expand All @@ -42,6 +42,7 @@
},
"homepage": "https://github.com/FuelLabs/fuels-ts#readme",
"devDependencies": {
"@ethersproject/bytes": "^5.6.1",
"@jest/types": "28.1.0",
"@types/conventional-recommended-bump": "^6.1.0",
"@types/fs-extra": "^9.0.13",
Expand Down
2 changes: 2 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

237 changes: 229 additions & 8 deletions services/fuel-core/chainConfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,245 @@
"parent_network": {
"type": "LocalTest"
},
"wallet": {
"address": "0x94ffcc53b892684acefaebc8a3d4a595e528a8cf664eeb3ef36f1020b0809d0d",
"privateKey": "0xa449b1ffee0e2205fa924c6740cc48b3b473aa28587df6dab12abc245d1f5298"
},
"initial_state": {
"coins": [
{
"owner": "0x94ffcc53b892684acefaebc8a3d4a595e528a8cf664eeb3ef36f1020b0809d0d",
"owner": "0x09c0b2d1a486c439a87bcba6b46a7a1a23f3897cc83a94521a96da5c23bc58db",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x09c0b2d1a486c439a87bcba6b46a7a1a23f3897cc83a94521a96da5c23bc58db",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x09c0b2d1a486c439a87bcba6b46a7a1a23f3897cc83a94521a96da5c23bc58db",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0x5d99ee966b42cd8fc7bdd1364b389153a9e78b42b7d4a691470674e817888d4e",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x5d99ee966b42cd8fc7bdd1364b389153a9e78b42b7d4a691470674e817888d4e",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x5d99ee966b42cd8fc7bdd1364b389153a9e78b42b7d4a691470674e817888d4e",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0xbdaad6a89e073e177895b3e5a9ccd15806749eda134a6438dae32fc5b6601f3f",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0xbdaad6a89e073e177895b3e5a9ccd15806749eda134a6438dae32fc5b6601f3f",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0xbdaad6a89e073e177895b3e5a9ccd15806749eda134a6438dae32fc5b6601f3f",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0x95a7aa6cc32743f8706c40ef49a7423b47da763bb4bbc055b1f07254dc729036",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x95a7aa6cc32743f8706c40ef49a7423b47da763bb4bbc055b1f07254dc729036",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x95a7aa6cc32743f8706c40ef49a7423b47da763bb4bbc055b1f07254dc729036",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0xcee104acd38b940c8f1c62c6d7ea00a0ad2241d6dee0509a4bf27297508870d3",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0xcee104acd38b940c8f1c62c6d7ea00a0ad2241d6dee0509a4bf27297508870d3",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0xcee104acd38b940c8f1c62c6d7ea00a0ad2241d6dee0509a4bf27297508870d3",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0x7e3626e306588eba79cafab73f0709e55ab8f4bdfe8c8b75034a430fc56ece89",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x7e3626e306588eba79cafab73f0709e55ab8f4bdfe8c8b75034a430fc56ece89",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x7e3626e306588eba79cafab73f0709e55ab8f4bdfe8c8b75034a430fc56ece89",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0x1c31df52b6df56407dd95f83082e8beb9cfc9532ac111d5bd8491651d95ba775",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x1c31df52b6df56407dd95f83082e8beb9cfc9532ac111d5bd8491651d95ba775",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x1c31df52b6df56407dd95f83082e8beb9cfc9532ac111d5bd8491651d95ba775",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0x09dd7a49174d6fcc9f4c6f7942c18060a935ddd03ee69b594189b8c3581276ea",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x09dd7a49174d6fcc9f4c6f7942c18060a935ddd03ee69b594189b8c3581276ea",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x09dd7a49174d6fcc9f4c6f7942c18060a935ddd03ee69b594189b8c3581276ea",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0x86604282dc604481b809845be49667607c470644f6822fc01eb0d22f167e08cf",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x86604282dc604481b809845be49667607c470644f6822fc01eb0d22f167e08cf",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x86604282dc604481b809845be49667607c470644f6822fc01eb0d22f167e08cf",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0xbca334a06d19db5041c78fe2f465b07be5bec828f38b7796b2877e7d1542c950",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0xbca334a06d19db5041c78fe2f465b07be5bec828f38b7796b2877e7d1542c950",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0xbca334a06d19db5041c78fe2f465b07be5bec828f38b7796b2877e7d1542c950",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0xbd9a1dc8d3ec3521c43f6c2c01611b4d0204c7610204ff0178488c8738a30bd2",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0xbd9a1dc8d3ec3521c43f6c2c01611b4d0204c7610204ff0178488c8738a30bd2",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0xbd9a1dc8d3ec3521c43f6c2c01611b4d0204c7610204ff0178488c8738a30bd2",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0xb32197cf75efe05bf453c26178139f09b391582065549c1422bc92555ecffb64",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0xb32197cf75efe05bf453c26178139f09b391582065549c1422bc92555ecffb64",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0xb32197cf75efe05bf453c26178139f09b391582065549c1422bc92555ecffb64",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0x3b24509ed4ab3c7959f5c9391c1445c59290cdb5f13d6f780922f376b7029f30",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x3b24509ed4ab3c7959f5c9391c1445c59290cdb5f13d6f780922f376b7029f30",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x3b24509ed4ab3c7959f5c9391c1445c59290cdb5f13d6f780922f376b7029f30",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0x77c6f40b7da70d885f68efaad7c661327482a63ea10dcb4271de819438254ae1",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x77c6f40b7da70d885f68efaad7c661327482a63ea10dcb4271de819438254ae1",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x77c6f40b7da70d885f68efaad7c661327482a63ea10dcb4271de819438254ae1",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0x6a2c4691c547c43924650dbd30620b184b5fe3fb6dbe5c4446110b08f6f405bf",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x6a2c4691c547c43924650dbd30620b184b5fe3fb6dbe5c4446110b08f6f405bf",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x6a2c4691c547c43924650dbd30620b184b5fe3fb6dbe5c4446110b08f6f405bf",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
},
{
"owner": "0x49075a7538e2c88ebe1926ce4d898198a2a4e790d14512943a9864bc536b3c82",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"owner": "0x94ffcc53b892684acefaebc8a3d4a595e528a8cf664eeb3ef36f1020b0809d0d",
"owner": "0x49075a7538e2c88ebe1926ce4d898198a2a4e790d14512943a9864bc536b3c82",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0101010101010101010101010101010101010101010101010101010101010101"
},
{
"owner": "0x94ffcc53b892684acefaebc8a3d4a595e528a8cf664eeb3ef36f1020b0809d0d",
"owner": "0x49075a7538e2c88ebe1926ce4d898198a2a4e790d14512943a9864bc536b3c82",
"amount": "0xFFFFFFFFFFFFFFFF",
"asset_id": "0x0202020202020202020202020202020202020202020202020202020202020202"
}
Expand All @@ -41,4 +262,4 @@
"max_predicate_data_length": 1048576,
"gas_price_factor": 1000000
}
}
}
Loading

0 comments on commit c8db139

Please sign in to comment.