gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated: implement test suites


From: gnunet
Subject: [taler-wallet-core] branch master updated: implement test suites
Date: Tue, 02 Mar 2021 14:19:06 +0100

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new 98ab998a implement test suites
98ab998a is described below

commit 98ab998a1ecf495e85fcc73a29ca88d990415f05
Author: Florian Dold <florian@dold.me>
AuthorDate: Tue Mar 2 14:19:01 2021 +0100

    implement test suites
---
 packages/idb-bridge/src/bridge-idb.ts              |  2 +-
 packages/taler-wallet-cli/src/index.ts             | 10 ++++++++-
 .../src/integrationtests/harness.ts                |  2 +-
 .../test-merchant-exchange-confusion.ts            |  2 ++
 .../src/integrationtests/testrunner.ts             | 26 ++++++++++++++++++++--
 5 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/packages/idb-bridge/src/bridge-idb.ts 
b/packages/idb-bridge/src/bridge-idb.ts
index fa2e16e2..2b460236 100644
--- a/packages/idb-bridge/src/bridge-idb.ts
+++ b/packages/idb-bridge/src/bridge-idb.ts
@@ -1132,7 +1132,7 @@ export class BridgeIDBIndex implements IDBIndex {
       );
     }
 
-    console.log("opening cursor on", this);
+    BridgeIDBFactory.enableTracing && console.log("opening cursor on", this);
 
     this._confirmActiveTransaction();
 
diff --git a/packages/taler-wallet-cli/src/index.ts 
b/packages/taler-wallet-cli/src/index.ts
index 5e0d7220..acf46526 100644
--- a/packages/taler-wallet-cli/src/index.ts
+++ b/packages/taler-wallet-cli/src/index.ts
@@ -797,9 +797,17 @@ testCli
   .maybeArgument("pattern", clk.STRING, {
     help: "Glob pattern to select which tests to run",
   })
+  .maybeOption("suites", ["--suites"], clk.STRING, {
+    help: "Only run selected suites (string-separated list)"
+  })
+  .flag("dryRun", ["--dry"], {
+    help: "Only print tests that will be selected to run."
+  })
   .action(async (args) => {
     await runTests({
-      include_pattern: args.runIntegrationtests.pattern,
+      includePattern: args.runIntegrationtests.pattern,
+      suiteSpec: args.runIntegrationtests.suites,
+      dryRun: args.runIntegrationtests.dryRun,
     });
   });
 
diff --git a/packages/taler-wallet-cli/src/integrationtests/harness.ts 
b/packages/taler-wallet-cli/src/integrationtests/harness.ts
index 518326f9..2fe976f9 100644
--- a/packages/taler-wallet-cli/src/integrationtests/harness.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/harness.ts
@@ -1408,7 +1408,7 @@ export class MerchantService implements 
MerchantServiceInterface {
     console.log("adding instance");
     const url = 
`http://localhost:${this.merchantConfig.httpPort}/private/instances`;
     await axios.post(url, {
-      auth_token: instanceConfig.authToken,
+      auth: { method: "external" },
       payto_uris: instanceConfig.paytoUris,
       id: instanceConfig.id,
       name: instanceConfig.name,
diff --git 
a/packages/taler-wallet-cli/src/integrationtests/test-merchant-exchange-confusion.ts
 
b/packages/taler-wallet-cli/src/integrationtests/test-merchant-exchange-confusion.ts
index 15b548cc..a60f7f01 100644
--- 
a/packages/taler-wallet-cli/src/integrationtests/test-merchant-exchange-confusion.ts
+++ 
b/packages/taler-wallet-cli/src/integrationtests/test-merchant-exchange-confusion.ts
@@ -228,3 +228,5 @@ export async function runMerchantExchangeConfusionTest(t: 
GlobalTestState) {
 
   t.assertTrue(confirmPayRes.type === ConfirmPayResultType.Done);
 }
+
+runMerchantExchangeConfusionTest.suites = ["merchant"];
diff --git a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts 
b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
index a11b4587..252dbafb 100644
--- a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
@@ -70,6 +70,7 @@ import CancellationToken from "cancellationtoken";
 interface TestMainFunction {
   (t: GlobalTestState): Promise<void>;
   timeoutMs?: number;
+  suites?: string[];
 }
 
 const allTests: TestMainFunction[] = [
@@ -108,7 +109,9 @@ const allTests: TestMainFunction[] = [
 ];
 
 export interface TestRunSpec {
-  include_pattern?: string;
+  includePattern?: string;
+  suiteSpec?: string;
+  dryRun?: boolean,
 }
 
 export interface TestInfo {
@@ -171,9 +174,28 @@ export async function runTests(spec: TestRunSpec) {
   //process.on("unhandledRejection", handleSignal);
   //process.on("uncaughtException", handleSignal);
 
+  let suites: Set<string> | undefined;
+
+  if (spec.suiteSpec) {
+    suites = new Set(spec.suiteSpec.split(",").map((x) => x.trim()));
+  }
+
   for (const [n, testCase] of allTests.entries()) {
     const testName = getTestName(testCase);
-    if (spec.include_pattern && !M(testName, spec.include_pattern)) {
+    if (spec.includePattern && !M(testName, spec.includePattern)) {
+      continue;
+    }
+
+    if (suites) {
+      const ts = new Set(testCase.suites ?? []);
+      const intersection = new Set([...suites].filter((x) => ts.has(x)));
+      if (intersection.size === 0) {
+        continue;
+      }
+    }
+
+    if (spec.dryRun) {
+      console.log(`dry run: would run test ${testName}`);
       continue;
     }
 

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]