gnunet-svn
[Top][All Lists]
Advanced

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

[taler-merchant] 273/277: use improved rewind API


From: gnunet
Subject: [taler-merchant] 273/277: use improved rewind API
Date: Sun, 05 Jul 2020 20:53:06 +0200

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

grothoff pushed a commit to branch master
in repository merchant.

commit c4dc3bf39183559ddcfeafba65ef3d8635bc13fe
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Fri Jul 3 20:59:37 2020 +0200

    use improved rewind API
---
 src/include/taler_merchant_testing_lib.h      |  23 -----
 src/merchant-tools/taler-merchant-benchmark.c |  23 ++---
 src/testing/Makefile.am                       |   1 -
 src/testing/testing_api_cmd_rewind.c          | 120 --------------------------
 4 files changed, 8 insertions(+), 159 deletions(-)

diff --git a/src/include/taler_merchant_testing_lib.h 
b/src/include/taler_merchant_testing_lib.h
index cad54e7..7b97815 100644
--- a/src/include/taler_merchant_testing_lib.h
+++ b/src/include/taler_merchant_testing_lib.h
@@ -1515,27 +1515,4 @@ TALER_TESTING_get_trait_refund_entry ( // FIXME: rename: 
entry->detail
   const struct TALER_MERCHANT_RefundDetail **refund_entry);
 
 
-/**
- * Make the instruction pointer point to @a new_ip
- * only if @a counter is greater than zero.
- *
- * FIXME: this seems to be a BAD API! Proposal: replace "new_ip"
- * with a 'const char *' that is the _label_ of the target
- * command (not an offset, and not -1!). Also, this command
- * should probably be moved to the *exchange* codebase.
- *
- * @param label command label
- * @param new_ip new instruction pointer's value.  Note that,
- *    when the next instruction will be called, the interpreter
- *    will increment the ip _anyway_ so this value must be
- *    set to the index of the instruction we want to execute next
- *    MINUS one.
- * @param counter counts how many times the rewinding has
- * to happen.
- */
-struct TALER_TESTING_Command
-TALER_TESTING_cmd_rewind_ip (const char *label,
-                             int new_ip,
-                             unsigned int *counter);
-
 #endif
diff --git a/src/merchant-tools/taler-merchant-benchmark.c 
b/src/merchant-tools/taler-merchant-benchmark.c
index ac34899..e410927 100644
--- a/src/merchant-tools/taler-merchant-benchmark.c
+++ b/src/merchant-tools/taler-merchant-benchmark.c
@@ -65,13 +65,6 @@ enum PaymentGeneratorError
 };
 
 
-/* Arguments for #TALER_TESTING_cmd_rewind_ip(). FIXME: should probably be
-   replaced with labels? Bad style! */
-#define FIRST_INSTRUCTION -1
-#define TRACKS_INSTRUCTION 9
-#define TWOCOINS_INSTRUCTION 5
-
-
 /**
  * What API key should we send in the HTTP 'Authorization' header?
  */
@@ -280,8 +273,8 @@ run (void *cls,
                                             CURRENCY_5,
                                             CURRENCY_4_99),
       TALER_TESTING_cmd_rewind_ip ("rewind-payments",
-                                   FIRST_INSTRUCTION,
-                                   &payments_number),
+                                   "create-reserve",
+                                   payments_number),
       /* Next proposal-pay cycle will be used by /track CMDs
        * and so it will not have to be looped over, only /track
        * CMDs will have to.  */
@@ -316,8 +309,8 @@ run (void *cls,
                                                 "post-transaction-1",
                                                 NULL),
       TALER_TESTING_cmd_rewind_ip ("rewind-tracks",
-                                   TRACKS_INSTRUCTION,
-                                   &tracks_number),
+                                   "track-transfer-1",
+                                   tracks_number),
       TALER_TESTING_cmd_end ()
     };
 
@@ -351,8 +344,8 @@ run (void *cls,
                                             CURRENCY_5,
                                             CURRENCY_4_99),
       TALER_TESTING_cmd_rewind_ip ("rewind-unaggregated",
-                                   FIRST_INSTRUCTION,
-                                   &unaggregated_number),
+                                   "create-reserve-1",
+                                   unaggregated_number),
       TALER_TESTING_cmd_admin_add_incoming ("create-reserve-2",
                                             CURRENCY_10_02,
                                             &bc.exchange_auth,
@@ -381,8 +374,8 @@ run (void *cls,
       TALER_TESTING_cmd_exec_aggregator ("aggregate-twocoins",
                                          cfg_filename),
       TALER_TESTING_cmd_rewind_ip ("rewind-twocoins",
-                                   TWOCOINS_INSTRUCTION,
-                                   &twocoins_number),
+                                   "create-reserve-2",
+                                   twocoins_number),
       TALER_TESTING_cmd_end ()
     };
 
diff --git a/src/testing/Makefile.am b/src/testing/Makefile.am
index 6852e4a..8ba034b 100644
--- a/src/testing/Makefile.am
+++ b/src/testing/Makefile.am
@@ -43,7 +43,6 @@ libtalermerchanttesting_la_SOURCES = \
   testing_api_cmd_patch_product.c \
   testing_api_cmd_refund_order.c \
    \
-  testing_api_cmd_rewind.c \
   testing_api_cmd_tip_authorize.c \
   testing_api_cmd_tip_pickup.c \
   testing_api_cmd_wallet_get_order.c \
diff --git a/src/testing/testing_api_cmd_rewind.c 
b/src/testing/testing_api_cmd_rewind.c
deleted file mode 100644
index 2e43b75..0000000
--- a/src/testing/testing_api_cmd_rewind.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
-  This file is part of TALER
-  Copyright (C) 2014-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 lib/testing_api_cmd_rewind.c
- * @brief command to rewind the instruction pointer.
- * @author Marcello Stanisci
- */
-
-#include "platform.h"
-#include <taler/taler_exchange_service.h>
-#include <taler/taler_testing_lib.h>
-#include "taler_merchant_service.h"
-#include "taler_merchant_testing_lib.h"
-
-
-/**
- * State for a "rewind" CMD.
- */
-struct RewindIpState
-{
-  /**
-   * Instruction pointer to set into the interpreter.
-   */
-  unsigned int new_ip;
-
-  /**
-   * How many times this set should take place.
-   * However, this value lives at the calling process,
-   * and this CMD is only in charge of checking and
-   * decremeting it.
-   */
-  unsigned int *counter;
-};
-
-
-/**
- * Only defined to respect the API.
- */
-static void
-rewind_ip_cleanup (void *cls,
-                   const struct TALER_TESTING_Command *cmd)
-{
-}
-
-
-/**
- * Run the "rewind" CMD.
- *
- * @param cls closure.
- * @param cmd command being executed now.
- * @param is the interpreter state.
- */
-static void
-rewind_ip_run (void *cls,
-               const struct TALER_TESTING_Command *cmd,
-               struct TALER_TESTING_Interpreter *is)
-{
-  struct RewindIpState *ris = cls;
-
-  if (1 < *ris->counter)
-  {
-    is->ip = ris->new_ip;
-    *ris->counter -= 1;
-  }
-
-  TALER_TESTING_interpreter_next (is);
-}
-
-
-/**
- * Make the instruction pointer point to @a new_ip
- * only if @a counter is greater than zero.
- *
- * @param label command label
- * @param new_ip new instruction pointer's value.  Note that,
- * when the next instruction will be called, the interpreter
- * will increment the ip _anyway_ so this value must be
- * set to the index of the instruction we want to execute next
- * MINUS one.
- * @param counter counts how many times the rewinding has
- * to happen.
- */
-struct TALER_TESTING_Command
-TALER_TESTING_cmd_rewind_ip
-  (const char *label,
-  int new_ip,
-  unsigned int *counter)
-{
-  struct RewindIpState *ris;
-
-  ris = GNUNET_new (struct RewindIpState);
-  ris->new_ip = new_ip;
-  ris->counter = counter;
-
-  struct TALER_TESTING_Command cmd = {
-    .cls = ris,
-    .label = label,
-    .run = &rewind_ip_run,
-    .cleanup = &rewind_ip_cleanup
-  };
-
-  return cmd;
-}

-- 
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]