summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-10-20 13:27:47 +0200
committerFlorian Dold <florian@dold.me>2021-10-20 13:27:47 +0200
commitcf25f5698e9f3a3b36930e545f7cce9829fb08f6 (patch)
tree55943ee749d2c2bebfa4999f489146c64aee28be
parent589c2a338284e038cf03e4c8734671c8f9f8ebda (diff)
downloadwallet-core-cf25f5698e9f3a3b36930e545f7cce9829fb08f6.tar.gz
wallet-core-cf25f5698e9f3a3b36930e545f7cce9829fb08f6.tar.bz2
wallet-core-cf25f5698e9f3a3b36930e545f7cce9829fb08f6.zip
wallet-cli: run benchmark in a loop
-rw-r--r--packages/taler-wallet-cli/src/bench1.ts48
1 files changed, 32 insertions, 16 deletions
diff --git a/packages/taler-wallet-cli/src/bench1.ts b/packages/taler-wallet-cli/src/bench1.ts
index 5563fc453..4a2651f36 100644
--- a/packages/taler-wallet-cli/src/bench1.ts
+++ b/packages/taler-wallet-cli/src/bench1.ts
@@ -17,7 +17,12 @@
/**
* Imports.
*/
-import { buildCodecForObject, codecForString } from "@gnu-taler/taler-util";
+import {
+ buildCodecForObject,
+ codecForNumber,
+ codecForString,
+ codecOptional,
+} from "@gnu-taler/taler-util";
import {
getDefaultNodeWallet,
NodeHttpLib,
@@ -42,24 +47,28 @@ export async function runBench1(configJson: any): Promise<void> {
});
await wallet.client.call(WalletApiOperation.InitWallet, {});
- await wallet.client.call(WalletApiOperation.WithdrawFakebank, {
- amount: "TESTKUDOS:10",
- bank: b1conf.bank,
- exchange: b1conf.exchange,
- });
+ const numIter = b1conf.iterations ?? 1;
- await wallet.runTaskLoop({
- stopWhenDone: true,
- });
+ for (let i = 0; i < numIter; i++) {
+ await wallet.client.call(WalletApiOperation.WithdrawFakebank, {
+ amount: "TESTKUDOS:10",
+ bank: b1conf.bank,
+ exchange: b1conf.exchange,
+ });
- await wallet.client.call(WalletApiOperation.CreateDepositGroup, {
- amount: "TESTKUDOS:5",
- depositPaytoUri: "payto://x-taler-bank/localhost/foo",
- });
+ await wallet.runTaskLoop({
+ stopWhenDone: true,
+ });
- await wallet.runTaskLoop({
- stopWhenDone: true,
- });
+ await wallet.client.call(WalletApiOperation.CreateDepositGroup, {
+ amount: "TESTKUDOS:5",
+ depositPaytoUri: "payto://x-taler-bank/localhost/foo",
+ });
+
+ await wallet.runTaskLoop({
+ stopWhenDone: true,
+ });
+ }
wallet.stop();
}
@@ -77,6 +86,12 @@ interface Bench1Config {
* Base URL of the exchange.
*/
exchange: string;
+
+ /**
+ * How many withdraw/deposit iterations should be made?
+ * Defaults to 1.
+ */
+ iterations?: number;
}
/**
@@ -86,4 +101,5 @@ const codecForBench1Config = () =>
buildCodecForObject<Bench1Config>()
.property("bank", codecForString())
.property("exchange", codecForString())
+ .property("iterations", codecOptional(codecForNumber()))
.build("Bench1Config");