gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: add separate commands for closer


From: gnunet
Subject: [taler-exchange] branch master updated: add separate commands for closer/transfer steps, modify test cases to use new commands
Date: Thu, 12 Mar 2020 11:47:40 +0100

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

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 8d5f42fe add separate commands for closer/transfer steps, modify test 
cases to use new commands
8d5f42fe is described below

commit 8d5f42fe0cff134120e462c7e905403f7d38b9d6
Author: Christian Grothoff <address@hidden>
AuthorDate: Thu Mar 12 10:53:49 2020 +0100

    add separate commands for closer/transfer steps, modify test cases to use 
new commands
---
 src/include/taler_testing_lib.h              |  38 ++++--
 src/testing/Makefile.am                      |   6 +-
 src/testing/test_auditor_api.c               |   6 +-
 src/testing/test_exchange_api.c              |  20 ++--
 src/testing/test_taler_exchange_aggregator.c |  97 +++++++++-------
 src/testing/test_taler_exchange_wirewatch.c  |  22 +++-
 src/testing/testing_api_cmd_exec_closer.c    | 166 +++++++++++++++++++++++++++
 src/testing/testing_api_cmd_exec_transfer.c  | 166 +++++++++++++++++++++++++++
 8 files changed, 453 insertions(+), 68 deletions(-)

diff --git a/src/include/taler_testing_lib.h b/src/include/taler_testing_lib.h
index 7dadc1f4..62f0b95c 100644
--- a/src/include/taler_testing_lib.h
+++ b/src/include/taler_testing_lib.h
@@ -1100,32 +1100,57 @@ TALER_TESTING_cmd_exec_wirewatch (const char *label,
  * @param label command label.
  * @param config_filename configuration file for the
  *                        aggregator to use.
- *
  * @return the command.
  */
 struct TALER_TESTING_Command
 TALER_TESTING_cmd_exec_aggregator (const char *label,
                                    const char *config_filename);
 
+
+/**
+ * Make a "closer" CMD.
+ *
+ * @param label command label.
+ * @param config_filename configuration file for the
+ *                        closer to use.
+ * @return the command.
+ */
+struct TALER_TESTING_Command
+TALER_TESTING_cmd_exec_closer (const char *label,
+                               const char *config_filename);
+
+
+/**
+ * Make a "transfer" CMD.
+ *
+ * @param label command label.
+ * @param config_filename configuration file for the
+ *                        transfer to use.
+ * @return the command.
+ */
+struct TALER_TESTING_Command
+TALER_TESTING_cmd_exec_transfer (const char *label,
+                                 const char *config_filename);
+
+
 /**
  * Make the "keyup" CMD.
  *
  * @param label command label.
  * @param config_filename configuration filename.
- *
  * @return the command.
  */
 struct TALER_TESTING_Command
 TALER_TESTING_cmd_exec_keyup (const char *label,
                               const char *config_filename);
 
+
 /**
  * Make the "keyup" CMD, with "--timestamp" option.
  *
  * @param label command label.
  * @param config_filename configuration filename.
  * @param now Unix timestamp representing the fake "now".
- *
  * @return the command.
  */
 struct TALER_TESTING_Command
@@ -1161,7 +1186,6 @@ TALER_TESTING_cmd_check_keys_with_now (const char *label,
  *
  * @param label command label
  * @param config_filename configuration filename
- *
  * @return the command.
  */
 struct TALER_TESTING_Command
@@ -1196,7 +1220,6 @@ TALER_TESTING_cmd_withdraw_amount (const char *label,
  *        from; will provide reserve priv to sign the request.
  * @param dk denomination public key.
  * @param expected_response_code expected HTTP response code.
- *
  * @return the command.
  */
 struct TALER_TESTING_Command
@@ -1228,7 +1251,6 @@ TALER_TESTING_cmd_withdraw_with_retry (struct 
TALER_TESTING_Command cmd);
  * @param expected_fee the fee the exchange should charge.
  * @param expected_response_code the HTTP response the exchange
  *        should return.
- *
  * @return the command.
  */
 struct TALER_TESTING_Command
@@ -1239,13 +1261,12 @@ TALER_TESTING_cmd_wire (const char *label,
 
 
 /**
- * Create a "reserve status" command.
+ * Create a GET "reserves" command.
  *
  * @param label the command label.
  * @param reserve_reference reference to the reserve to check.
  * @param expected_balance expected balance for the reserve.
  * @param expected_response_code expected HTTP response code.
- *
  * @return the command.
  */
 struct TALER_TESTING_Command
@@ -1271,7 +1292,6 @@ TALER_TESTING_cmd_status (const char *label,
  * @param refund_deadline refund deadline, zero means 'no refunds'.
  * @param amount how much is going to be deposited.
  * @param expected_response_code expected HTTP response code.
- *
  * @return the command.
  */
 struct TALER_TESTING_Command
diff --git a/src/testing/Makefile.am b/src/testing/Makefile.am
index e839a32b..73f9b9ec 100644
--- a/src/testing/Makefile.am
+++ b/src/testing/Makefile.am
@@ -51,9 +51,11 @@ libtalertesting_la_SOURCES = \
   testing_api_cmd_check_keys.c \
   testing_api_cmd_deposit.c \
   testing_api_cmd_exec_aggregator.c \
-  testing_api_cmd_exec_wirewatch.c \
-  testing_api_cmd_exec_keyup.c \
   testing_api_cmd_exec_auditor-sign.c \
+  testing_api_cmd_exec_closer.c \
+  testing_api_cmd_exec_keyup.c \
+  testing_api_cmd_exec_transfer.c \
+  testing_api_cmd_exec_wirewatch.c \
   testing_api_cmd_recoup.c \
   testing_api_cmd_refund.c \
   testing_api_cmd_refresh.c \
diff --git a/src/testing/test_auditor_api.c b/src/testing/test_auditor_api.c
index a2d7e00a..af6f8203 100644
--- a/src/testing/test_auditor_api.c
+++ b/src/testing/test_auditor_api.c
@@ -64,13 +64,15 @@ static struct TALER_TESTING_BankConfiguration bc;
   TALER_TESTING_cmd_exec_wirewatch (label, CONFIG_FILE)
 
 /**
- * Execute the taler-exchange-aggregator command with
+ * Execute the taler-exchange-aggregator, closer and transfer commands with
  * our configuration file.
  *
  * @param label label to use for the command.
  */
 #define CMD_EXEC_AGGREGATOR(label) \
-  TALER_TESTING_cmd_exec_aggregator (label, CONFIG_FILE)
+  TALER_TESTING_cmd_exec_aggregator (label, CONFIG_FILE), \
+  TALER_TESTING_cmd_exec_closer (label, CONFIG_FILE), \
+  TALER_TESTING_cmd_exec_transfer (label, CONFIG_FILE)
 
 /**
  * Run wire transfer of funds from some user's account to the
diff --git a/src/testing/test_exchange_api.c b/src/testing/test_exchange_api.c
index ba655d9b..3f7a1aed 100644
--- a/src/testing/test_exchange_api.c
+++ b/src/testing/test_exchange_api.c
@@ -65,13 +65,16 @@ static struct TALER_TESTING_BankConfiguration bc;
   TALER_TESTING_cmd_exec_wirewatch (label, CONFIG_FILE)
 
 /**
- * Execute the taler-exchange-aggregator command with
+ * Execute the taler-exchange-aggregator, closer and transfer commands with
  * our configuration file.
  *
  * @param label label to use for the command.
  */
 #define CMD_EXEC_AGGREGATOR(label) \
-  TALER_TESTING_cmd_exec_aggregator (label, CONFIG_FILE)
+  TALER_TESTING_cmd_exec_aggregator (label "-aggregator", CONFIG_FILE), \
+  TALER_TESTING_cmd_exec_closer (label "-closer", CONFIG_FILE), \
+  TALER_TESTING_cmd_exec_transfer (label "-transfer", CONFIG_FILE)
+
 
 /**
  * Run wire transfer of funds from some user's account to the
@@ -547,7 +550,8 @@ run (void *cls,
      * Run transfers. This will do the transfer as refund deadline
      * was 0, except of course because the refund succeeded, the
      * transfer should no longer be done.
-     */CMD_EXEC_AGGREGATOR ("run-aggregator-3b"),
+     *///
+    CMD_EXEC_AGGREGATOR ("run-aggregator-3b"),
     /* check that aggregator didn't do anything, as expected */
     TALER_TESTING_cmd_check_bank_empty ("check-refund-fast-not-run"),
     TALER_TESTING_cmd_end ()
@@ -621,8 +625,10 @@ run (void *cls,
     TALER_TESTING_cmd_exec_wirewatch ("short-lived-aggregation",
                                       CONFIG_FILE_EXPIRE_RESERVE_NOW),
 
-    TALER_TESTING_cmd_exec_aggregator ("close-reserves",
-                                       CONFIG_FILE_EXPIRE_RESERVE_NOW),
+    TALER_TESTING_cmd_exec_closer ("close-reserves",
+                                   CONFIG_FILE_EXPIRE_RESERVE_NOW),
+    TALER_TESTING_cmd_exec_transfer ("close-reserves-transfer",
+                                     CONFIG_FILE_EXPIRE_RESERVE_NOW),
 
     TALER_TESTING_cmd_status ("short-lived-status",
                               "short-lived-reserve",
@@ -740,8 +746,8 @@ run (void *cls,
       = TALER_TESTING_cmd_exec_wirewatch ("reserve-open-close-wirewatch",
                                           CONFIG_FILE_EXPIRE_RESERVE_NOW);
     reserve_open_close[(i * RESERVE_OPEN_CLOSE_CHUNK) + 2]
-      = TALER_TESTING_cmd_exec_aggregator ("reserve-open-close-aggregation",
-                                           CONFIG_FILE_EXPIRE_RESERVE_NOW);
+      = TALER_TESTING_cmd_exec_closer ("reserve-open-close-aggregation",
+                                       CONFIG_FILE_EXPIRE_RESERVE_NOW);
     reserve_open_close[(i * RESERVE_OPEN_CLOSE_CHUNK) + 3]
       = TALER_TESTING_cmd_status ("reserve-open-close-status",
                                   "reserve-open-close-key",
diff --git a/src/testing/test_taler_exchange_aggregator.c 
b/src/testing/test_taler_exchange_aggregator.c
index 2e8a35ce..66cdecff 100644
--- a/src/testing/test_taler_exchange_aggregator.c
+++ b/src/testing/test_taler_exchange_aggregator.c
@@ -58,6 +58,19 @@ static char *config_filename;
 #define USER42_ACCOUNT "42"
 
 
+/**
+ * Execute the taler-exchange-aggregator, closer and transfer commands with
+ * our configuration file.
+ *
+ * @param label label to use for the command.
+ * @param cfg_fn configuration file to use
+ */
+#define CMD_EXEC_AGGREGATOR(label, cfg_fn)                                 \
+  TALER_TESTING_cmd_exec_aggregator (label "-aggregator", cfg_fn), \
+  TALER_TESTING_cmd_exec_closer (label "-closer", cfg_fn),   \
+  TALER_TESTING_cmd_exec_transfer (label "-transfer", cfg_fn)
+
+
 /**
  * Collects all the tests.
  */
@@ -68,8 +81,8 @@ run (void *cls,
   struct TALER_TESTING_Command all[] = {
 
     // check no aggregation happens on a empty database
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-on-empty-db",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-on-empty-db",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_empty ("expect-empty-transactions-on-start"),
 
     /* check aggregation happens on the simplest case:
@@ -81,8 +94,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:1",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-on-deposit-1",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-on-deposit-1",
+                         config_filename),
 
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-1",
                                            ec.exchange_url,
@@ -108,8 +121,8 @@ run (void *cls,
                                       "EUR:1",
                                       "EUR:0.1"),
 
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-2",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-2",
+                         config_filename),
 
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-2",
                                            ec.exchange_url,
@@ -140,8 +153,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:1",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-3",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-3",
+                         config_filename),
 
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-3a",
                                            ec.exchange_url,
@@ -179,15 +192,15 @@ run (void *cls,
                                         5),
                                       "EUR:0.2",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-4-early",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-4-early",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_empty (
       "expect-empty-transactions-after-4-fast"),
 
     TALER_TESTING_cmd_sleep ("wait (5s)", 5),
 
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-4-delayed",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-4-delayed",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-4",
                                            ec.exchange_url,
                                            "EUR:0.19",
@@ -214,15 +227,15 @@ run (void *cls,
                                         5),
                                       "EUR:0.2",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-5-early",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-5-early",
+                         config_filename),
 
     TALER_TESTING_cmd_check_bank_empty (
       "expect-empty-transactions-after-5-early"),
     TALER_TESTING_cmd_sleep ("wait (5s)", 5),
 
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-5-delayed",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-5-delayed",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-5",
                                            ec.exchange_url,
                                            "EUR:0.19",
@@ -236,8 +249,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:0.102",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-6a-tiny",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-6a-tiny",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_empty (
       "expect-empty-transactions-after-6a-tiny"),
     TALER_TESTING_cmd_insert_deposit ("do-deposit-6b",
@@ -254,8 +267,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:0.102",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-6c-tiny",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-6c-tiny",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_empty (
       "expect-empty-transactions-after-6c-tiny"),
     TALER_TESTING_cmd_insert_deposit ("do-deposit-6d",
@@ -265,8 +278,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:0.102",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-6d-tiny",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-6d-tiny",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_empty (
       "expect-empty-transactions-after-6d-tiny"),
     TALER_TESTING_cmd_insert_deposit ("do-deposit-6e",
@@ -276,8 +289,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:0.112",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-6e",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-6e",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-6",
                                            ec.exchange_url,
                                            "EUR:0.01",
@@ -292,8 +305,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:0.109",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-7a-tiny",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-7a-tiny",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_empty (
       "expect-empty-transactions-after-7a-tiny"),
     TALER_TESTING_cmd_insert_deposit ("do-deposit-7b",
@@ -303,8 +316,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:0.119",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-7-profit",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-7-profit",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-7",
                                            ec.exchange_url,
                                            "EUR:0.01",
@@ -319,8 +332,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:0.122",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-7-loss",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-7-loss",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-7",
                                            ec.exchange_url,
                                            "EUR:0.01",
@@ -337,8 +350,8 @@ run (void *cls,
                                         5),
                                       "EUR:0.109",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-8a-tiny",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-8a-tiny",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_empty (
       "expect-empty-transactions-after-8a-tiny"),
     TALER_TESTING_cmd_insert_deposit ("do-deposit-8b",
@@ -350,8 +363,8 @@ run (void *cls,
                                         5),
                                       "EUR:0.109",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-8b-tiny",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-8b-tiny",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_empty (
       "expect-empty-transactions-after-8b-tiny"),
 
@@ -363,8 +376,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:0.122",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-8",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-8",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-8",
                                            ec.exchange_url,
                                            "EUR:0.03",
@@ -381,8 +394,8 @@ run (void *cls,
                                         5),
                                       "EUR:0.104",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-9a-tiny",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-9a-tiny",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_empty (
       "expect-empty-transactions-after-9a-tiny"),
     TALER_TESTING_cmd_insert_deposit ("do-deposit-9b",
@@ -394,8 +407,8 @@ run (void *cls,
                                         5),
                                       "EUR:0.105",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-9b-tiny",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-9b-tiny",
+                         config_filename),
     TALER_TESTING_cmd_check_bank_empty (
       "expect-empty-transactions-after-9b-tiny"),
 
@@ -407,8 +420,8 @@ run (void *cls,
                                       GNUNET_TIME_UNIT_ZERO,
                                       "EUR:0.112",
                                       "EUR:0.1"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-deposit-9",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-deposit-9",
+                         config_filename),
     /* 0.009 + 0.009 + 0.022 - 0.001 - 0.002 - 0.008 = 0.029 => 0.02 */
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-9",
                                            ec.exchange_url,
diff --git a/src/testing/test_taler_exchange_wirewatch.c 
b/src/testing/test_taler_exchange_wirewatch.c
index ab3246b7..34d70190 100644
--- a/src/testing/test_taler_exchange_wirewatch.c
+++ b/src/testing/test_taler_exchange_wirewatch.c
@@ -48,6 +48,19 @@ static struct TALER_TESTING_ExchangeConfiguration ec;
  */
 static char *config_filename;
 
+
+/**
+ * Execute the taler-exchange-aggregator, closer and transfer commands with
+ * our configuration file.
+ *
+ * @param label label to use for the command.
+ */
+#define CMD_EXEC_AGGREGATOR(label) \
+  TALER_TESTING_cmd_exec_aggregator (label "-aggregator", config_filename), \
+  TALER_TESTING_cmd_exec_closer (label "-closer", config_filename),   \
+  TALER_TESTING_cmd_exec_transfer (label "-transfer", config_filename)
+
+
 static struct TALER_TESTING_Command
 transfer_to_exchange (const char *label,
                       const char *amount)
@@ -71,8 +84,7 @@ run (void *cls,
 {
   struct TALER_TESTING_Command all[] = {
     TALER_TESTING_cmd_check_bank_empty ("expect-empty-transactions-on-start"),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-on-empty",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-on-empty"),
     TALER_TESTING_cmd_exec_wirewatch ("run-wirewatch-on-empty",
                                       config_filename),
     TALER_TESTING_cmd_check_bank_empty 
("expect-transfers-empty-after-dry-run"),
@@ -89,14 +101,12 @@ run (void *cls,
       bc.exchange_payto,                                            // credit
       "run-transfer-good-to-exchange"),
 
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-non-expired-reserve",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-non-expired-reserve"),
 
     TALER_TESTING_cmd_check_bank_empty ("expect-empty-transactions-1"),
     TALER_TESTING_cmd_sleep ("wait (5s)",
                              5),
-    TALER_TESTING_cmd_exec_aggregator ("run-aggregator-on-expired-reserve",
-                                       config_filename),
+    CMD_EXEC_AGGREGATOR ("run-aggregator-on-expired-reserve"),
     TALER_TESTING_cmd_check_bank_transfer ("expect-deposit-1",
                                            ec.exchange_url,
                                            "EUR:4.99",
diff --git a/src/testing/testing_api_cmd_exec_closer.c 
b/src/testing/testing_api_cmd_exec_closer.c
new file mode 100644
index 00000000..d40c563c
--- /dev/null
+++ b/src/testing/testing_api_cmd_exec_closer.c
@@ -0,0 +1,166 @@
+/*
+  This file is part of TALER
+  Copyright (C) 2018 Taler Systems SA
+
+  TALER is free software; you can redistribute it and/or modify it
+  under the terms of the GNU General Public License as published
+  by the Free Software Foundation; either version 3, or (at your
+  option) any later version.
+
+  TALER is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public
+  License along with TALER; see the file COPYING.  If not,
+  see <http://www.gnu.org/licenses/>
+*/
+/**
+ * @file testing/testing_api_cmd_exec_closer.c
+ * @brief run the taler-exchange-closer command
+ * @author Marcello Stanisci
+ */
+#include "platform.h"
+#include "taler_json_lib.h"
+#include <gnunet/gnunet_curl_lib.h>
+#include "taler_signatures.h"
+#include "taler_testing_lib.h"
+
+
+/**
+ * State for a "closer" CMD.
+ */
+struct CloserState
+{
+
+  /**
+   * Closer process.
+   */
+  struct GNUNET_OS_Process *closer_proc;
+
+  /**
+   * Configuration file used by the closer.
+   */
+  const char *config_filename;
+};
+
+
+/**
+ * Run the command.  Use the `taler-exchange-closer' program.
+ *
+ * @param cls closure.
+ * @param cmd command being run.
+ * @param is interpreter state.
+ */
+static void
+closer_run (void *cls,
+            const struct TALER_TESTING_Command *cmd,
+            struct TALER_TESTING_Interpreter *is)
+{
+  struct CloserState *as = cls;
+
+  as->closer_proc
+    = GNUNET_OS_start_process (GNUNET_NO,
+                               GNUNET_OS_INHERIT_STD_ALL,
+                               NULL, NULL, NULL,
+                               "taler-exchange-closer",
+                               "taler-exchange-closer",
+                               "-c", as->config_filename,
+                               "-t", /* exit when done */
+                               NULL);
+  if (NULL == as->closer_proc)
+  {
+    GNUNET_break (0);
+    TALER_TESTING_interpreter_fail (is);
+    return;
+  }
+  TALER_TESTING_wait_for_sigchld (is);
+}
+
+
+/**
+ * Free the state of a "closer" CMD, and possibly kill its
+ * process if it did not terminate correctly.
+ *
+ * @param cls closure.
+ * @param cmd the command being freed.
+ */
+static void
+closer_cleanup (void *cls,
+                const struct TALER_TESTING_Command *cmd)
+{
+  struct CloserState *as = cls;
+
+  if (NULL != as->closer_proc)
+  {
+    GNUNET_break (0 ==
+                  GNUNET_OS_process_kill (as->closer_proc,
+                                          SIGKILL));
+    GNUNET_OS_process_wait (as->closer_proc);
+    GNUNET_OS_process_destroy (as->closer_proc);
+    as->closer_proc = NULL;
+  }
+  GNUNET_free (as);
+}
+
+
+/**
+ * Offer "closer" CMD internal data to other commands.
+ *
+ * @param cls closure.
+ * @param[out] ret result.
+ * @param trait name of the trait.
+ * @param index index number of the object to offer.
+ * @return #GNUNET_OK on success
+ */
+static int
+closer_traits (void *cls,
+               const void **ret,
+               const char *trait,
+               unsigned int index)
+{
+  struct CloserState *as = cls;
+  struct TALER_TESTING_Trait traits[] = {
+    TALER_TESTING_make_trait_process (0, &as->closer_proc),
+    TALER_TESTING_trait_end ()
+  };
+
+  return TALER_TESTING_get_trait (traits,
+                                  ret,
+                                  trait,
+                                  index);
+}
+
+
+/**
+ * Make a "closer" CMD.
+ *
+ * @param label command label.
+ * @param config_filename configuration file for the
+ *                        closer to use.
+ * @return the command.
+ */
+struct TALER_TESTING_Command
+TALER_TESTING_cmd_exec_closer (const char *label,
+                               const char *config_filename)
+{
+  struct CloserState *as;
+
+  as = GNUNET_new (struct CloserState);
+  as->config_filename = config_filename;
+  {
+    struct TALER_TESTING_Command cmd = {
+      .cls = as,
+      .label = label,
+      .run = &closer_run,
+      .cleanup = &closer_cleanup,
+      .traits = &closer_traits
+    };
+
+    return cmd;
+  }
+}
+
+
+/* end of testing_api_cmd_exec_closer.c */
diff --git a/src/testing/testing_api_cmd_exec_transfer.c 
b/src/testing/testing_api_cmd_exec_transfer.c
new file mode 100644
index 00000000..c8764f93
--- /dev/null
+++ b/src/testing/testing_api_cmd_exec_transfer.c
@@ -0,0 +1,166 @@
+/*
+  This file is part of TALER
+  Copyright (C) 2018 Taler Systems SA
+
+  TALER is free software; you can redistribute it and/or modify it
+  under the terms of the GNU General Public License as published
+  by the Free Software Foundation; either version 3, or (at your
+  option) any later version.
+
+  TALER is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public
+  License along with TALER; see the file COPYING.  If not,
+  see <http://www.gnu.org/licenses/>
+*/
+/**
+ * @file testing/testing_api_cmd_exec_transfer.c
+ * @brief run the taler-exchange-transfer command
+ * @author Marcello Stanisci
+ */
+#include "platform.h"
+#include "taler_json_lib.h"
+#include <gnunet/gnunet_curl_lib.h>
+#include "taler_signatures.h"
+#include "taler_testing_lib.h"
+
+
+/**
+ * State for a "transfer" CMD.
+ */
+struct TransferState
+{
+
+  /**
+   * Transfer process.
+   */
+  struct GNUNET_OS_Process *transfer_proc;
+
+  /**
+   * Configuration file used by the transfer.
+   */
+  const char *config_filename;
+};
+
+
+/**
+ * Run the command.  Use the `taler-exchange-transfer' program.
+ *
+ * @param cls closure.
+ * @param cmd command being run.
+ * @param is interpreter state.
+ */
+static void
+transfer_run (void *cls,
+              const struct TALER_TESTING_Command *cmd,
+              struct TALER_TESTING_Interpreter *is)
+{
+  struct TransferState *as = cls;
+
+  as->transfer_proc
+    = GNUNET_OS_start_process (GNUNET_NO,
+                               GNUNET_OS_INHERIT_STD_ALL,
+                               NULL, NULL, NULL,
+                               "taler-exchange-transfer",
+                               "taler-exchange-transfer",
+                               "-c", as->config_filename,
+                               "-t", /* exit when done */
+                               NULL);
+  if (NULL == as->transfer_proc)
+  {
+    GNUNET_break (0);
+    TALER_TESTING_interpreter_fail (is);
+    return;
+  }
+  TALER_TESTING_wait_for_sigchld (is);
+}
+
+
+/**
+ * Free the state of a "transfer" CMD, and possibly kill its
+ * process if it did not terminate correctly.
+ *
+ * @param cls closure.
+ * @param cmd the command being freed.
+ */
+static void
+transfer_cleanup (void *cls,
+                  const struct TALER_TESTING_Command *cmd)
+{
+  struct TransferState *as = cls;
+
+  if (NULL != as->transfer_proc)
+  {
+    GNUNET_break (0 ==
+                  GNUNET_OS_process_kill (as->transfer_proc,
+                                          SIGKILL));
+    GNUNET_OS_process_wait (as->transfer_proc);
+    GNUNET_OS_process_destroy (as->transfer_proc);
+    as->transfer_proc = NULL;
+  }
+  GNUNET_free (as);
+}
+
+
+/**
+ * Offer "transfer" CMD internal data to other commands.
+ *
+ * @param cls closure.
+ * @param[out] ret result.
+ * @param trait name of the trait.
+ * @param index index number of the object to offer.
+ * @return #GNUNET_OK on success
+ */
+static int
+transfer_traits (void *cls,
+                 const void **ret,
+                 const char *trait,
+                 unsigned int index)
+{
+  struct TransferState *as = cls;
+  struct TALER_TESTING_Trait traits[] = {
+    TALER_TESTING_make_trait_process (0, &as->transfer_proc),
+    TALER_TESTING_trait_end ()
+  };
+
+  return TALER_TESTING_get_trait (traits,
+                                  ret,
+                                  trait,
+                                  index);
+}
+
+
+/**
+ * Make a "transfer" CMD.
+ *
+ * @param label command label.
+ * @param config_filename configuration file for the
+ *                        transfer to use.
+ * @return the command.
+ */
+struct TALER_TESTING_Command
+TALER_TESTING_cmd_exec_transfer (const char *label,
+                                 const char *config_filename)
+{
+  struct TransferState *as;
+
+  as = GNUNET_new (struct TransferState);
+  as->config_filename = config_filename;
+  {
+    struct TALER_TESTING_Command cmd = {
+      .cls = as,
+      .label = label,
+      .run = &transfer_run,
+      .cleanup = &transfer_cleanup,
+      .traits = &transfer_traits
+    };
+
+    return cmd;
+  }
+}
+
+
+/* end of testing_api_cmd_exec_transfer.c */

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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