From e8baaf5eb1acf30aee9ebd8744bec31a79a782c2 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 10 Jan 2023 12:14:03 +0100 Subject: harness: capture createdb/dropdb logs --- packages/taler-harness/src/harness/harness.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'packages/taler-harness') diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts index 6f722dc8d..a9298637f 100644 --- a/packages/taler-harness/src/harness/harness.ts +++ b/packages/taler-harness/src/harness/harness.ts @@ -63,7 +63,6 @@ import * as http from "http"; import * as path from "path"; import * as readline from "readline"; import { URL } from "url"; -import * as util from "util"; import { CoinConfig } from "./denomStructures.js"; import { LibeufinNexusApi, LibeufinSandboxApi } from "./libeufin-apis.js"; import { @@ -78,8 +77,6 @@ import { TippingReserveStatus, } from "./merchantApiTypes.js"; -const exec = util.promisify(child_process.exec); - const axios = axiosImp.default; export async function delayMs(ms: number): Promise { @@ -390,10 +387,14 @@ export interface DbInfo { dbname: string; } -export async function setupDb(gc: GlobalTestState): Promise { +export async function setupDb(t: GlobalTestState): Promise { const dbname = "taler-integrationtest"; - await exec(`dropdb "${dbname}" || true`); - await exec(`createdb "${dbname}"`); + try { + await runCommand(t, "dropdb", "dropdb", [dbname]); + } catch (e: any) { + logger.warn(`dropdb failed: ${e.toString()}`); + } + await runCommand(t, "createdb", "createdb", [dbname]); return { connStr: `postgres:///${dbname}`, dbname, @@ -1236,7 +1237,7 @@ export class ExchangeService implements ExchangeServiceInterface { // Wire fee `${this.exchangeConfig.currency}:0.01`, // Closing fee - `${this.exchangeConfig.currency}:0.01`, + `${this.exchangeConfig.currency}:0.01`, "upload", ], ); @@ -1631,7 +1632,12 @@ export class MerchantService implements MerchantServiceInterface { } async start(): Promise { - await exec(`taler-merchant-dbinit -c "${this.configFilename}"`); + await runCommand( + this.globalState, + "merchant-dbinit", + "taler-merchant-dbinit", + ["-c", this.configFilename], + ); this.proc = this.globalState.spawnService( "taler-merchant-httpd", -- cgit v1.2.3