diff --git a/multichain-testing/ava.fusdc.config.js b/multichain-testing/ava.fusdc.config.js new file mode 100644 index 000000000000..2e76acc2d195 --- /dev/null +++ b/multichain-testing/ava.fusdc.config.js @@ -0,0 +1,11 @@ +export default { + extensions: { + ts: 'module', + }, + require: ['@endo/init/debug.js'], + nodeArguments: ['--import=tsimp/import'], + files: ['test/fast-usdc/**/*.test.ts'], + concurrency: 1, + serial: true, + timeout: '125s', +}; diff --git a/multichain-testing/ava.main.config.js b/multichain-testing/ava.main.config.js new file mode 100644 index 000000000000..b3719a2569e4 --- /dev/null +++ b/multichain-testing/ava.main.config.js @@ -0,0 +1,11 @@ +export default { + extensions: { + ts: 'module', + }, + require: ['@endo/init/debug.js'], + nodeArguments: ['--import=tsimp/import'], + files: ['test/**/*.test.ts', '!test/fast-usdc/**/*.test.ts'], + concurrency: 1, + serial: true, + timeout: '125s', +}; diff --git a/multichain-testing/package.json b/multichain-testing/package.json index 4da3c7459343..1f1fd9cec8a1 100644 --- a/multichain-testing/package.json +++ b/multichain-testing/package.json @@ -8,7 +8,8 @@ "lint:eslint": "eslint .", "lint:types": "tsc --noEmit", "lint-fix": "yarn lint:eslint --fix", - "test": "ava", + "test": "ava --config ava.main.config.js", + "test:fast-usdc": "FILE=config.fusdc.yaml ava --config ava.fusdc.config.js", "starship:setup": "make setup-deps setup-kind", "starship:install": "make install", "starship:port-forward": "make port-forward", @@ -44,23 +45,6 @@ "resolutions": { "axios": "1.6.7" }, - "ava": { - "extensions": { - "ts": "module" - }, - "require": [ - "@endo/init/debug.js" - ], - "nodeArguments": [ - "--import=tsimp/import" - ], - "files": [ - "**/*.test.ts" - ], - "concurrency": 1, - "serial": true, - "timeout": "125s" - }, "eslintConfig": { "root": true, "env": { diff --git a/multichain-testing/test/fast-usdc/README.md b/multichain-testing/test/fast-usdc/README.md new file mode 100644 index 000000000000..4d8cb0dd8e0a --- /dev/null +++ b/multichain-testing/test/fast-usdc/README.md @@ -0,0 +1,14 @@ +## Start Chains + +Runs agoric, noble, and osmosis with hermes relayers. + +```sh +# start starship with fusdc configuration +make start FILE=config.fusdc.yaml +``` + +## Run Tests + +```sh +yarn test:fast-usdc +``` diff --git a/multichain-testing/test/support.ts b/multichain-testing/test/support.ts index 2267b8134367..f02f06ca0aa6 100644 --- a/multichain-testing/test/support.ts +++ b/multichain-testing/test/support.ts @@ -5,7 +5,7 @@ import fse from 'fs-extra'; import childProcess from 'node:child_process'; import { makeAgdTools } from '../tools/agd-tools.js'; import { type E2ETools } from '../tools/e2e-tools.js'; -import { makeGetFile, makeSetupRegistry } from '../tools/registry.js'; +import { makeGetFile, makeSetupRegistry, type UseChainFn } from '../tools/registry.js'; import { generateMnemonic } from '../tools/wallet.js'; import { makeRetryUntilCondition } from '../tools/sleep.js'; import { makeDeployBuilder } from '../tools/deploy.js'; @@ -54,7 +54,16 @@ const makeKeyring = async ( }; export const commonSetup = async (t: ExecutionContext) => { - const { useChain } = await setupRegistry(); + let useChain: UseChainFn; + try { + const registry = await setupRegistry({ + config: `../${process.env.FILE || 'config.yaml'}`, + }); + useChain = registry.useChain; + } catch (e) { + console.error('setupRegistry failed', e); + throw e; + } const tools = await makeAgdTools(t.log, childProcess); const keyring = await makeKeyring(tools); const deployBuilder = makeDeployBuilder(tools, fse.readJSON, execa);