gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [taler-exchange] branch master updated: fix reject test com


From: gnunet
Subject: [GNUnet-SVN] [taler-exchange] branch master updated: fix reject test command.
Date: Tue, 27 Feb 2018 22:55:26 +0100

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

marcello pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 663f26a  fix reject test command.
663f26a is described below

commit 663f26a1a269d91e5d6ab2d9d5d01102d6ffd353
Author: Marcello Stanisci <address@hidden>
AuthorDate: Tue Feb 27 22:49:18 2018 +0100

    fix reject test command.
---
 src/bank-lib/testing_api_cmd_history.c        | 19 +++++++++++-------
 src/bank-lib/testing_api_cmd_reject.c         | 28 +++++++++++++++++++++++++++
 src/exchange-lib/testing_api_cmd_bank_check.c | 28 +++++++++++++++++++++++----
 src/exchange-lib/testing_api_cmd_track.c      |  1 +
 4 files changed, 65 insertions(+), 11 deletions(-)

diff --git a/src/bank-lib/testing_api_cmd_history.c 
b/src/bank-lib/testing_api_cmd_history.c
index 311c910..51d6ad3 100644
--- a/src/bank-lib/testing_api_cmd_history.c
+++ b/src/bank-lib/testing_api_cmd_history.c
@@ -112,24 +112,29 @@ test_cancelled (struct TALER_TESTING_Interpreter *is,
                 unsigned int off)
 {
   const char *rejected_reference; 
+  const struct TALER_TESTING_Command *current_cmd;
 
+  current_cmd = &is->commands[off];
+  TALER_LOG_INFO ("Is `%s' rejected?\n", current_cmd->label);
   for (unsigned int i=0;i<is->ip;i++)
   {
     const struct TALER_TESTING_Command *c = &is->commands[i];
 
     
     #warning "Errors reported here are NOT fatal"
-    /* We use the exposure of a reference to a reject
-     * command as a signal to understand if the current
-     * command was cancelled; so errors about "reject traits"
-     * not found are NOT fatal here */
-
+    /* Rejected wire transfers have hold a reference to a
+     * reject command to mark them as rejected. So errors
+     * about "reject traits" not found are NOT fatal here */
     if (GNUNET_OK != TALER_TESTING_get_trait_rejected
         (c, 0, &rejected_reference))
       continue;
+
+    TALER_LOG_INFO ("Command `%s' was rejected by `%s'.\n",
+                    current_cmd->label,
+                    c->label);
+
     if (0 == strcmp (rejected_reference,
-                     TALER_TESTING_interpreter_get_current_label
-                       (is)))
+                     current_cmd->label))
       return GNUNET_YES;
   }
   return GNUNET_NO;
diff --git a/src/bank-lib/testing_api_cmd_reject.c 
b/src/bank-lib/testing_api_cmd_reject.c
index 0383c10..c01c27d 100644
--- a/src/bank-lib/testing_api_cmd_reject.c
+++ b/src/bank-lib/testing_api_cmd_reject.c
@@ -140,6 +140,33 @@ reject_run (void *cls,
 
 
 /**
+ * @param cls closure
+ * @param ret[out] result (could be anything)
+ * @param trait name of the trait
+ * @param selector more detailed information about which object
+ *                 to return in case there were multiple generated
+ *                 by the command
+ * @return #GNUNET_OK on success
+ */
+static int
+reject_traits (void *cls,
+               void **ret,
+               const char *trait,
+               unsigned int index)
+{
+  struct RejectState *rs = cls;
+  struct TALER_TESTING_Trait traits[] = {
+    TALER_TESTING_make_trait_rejected (0, rs->deposit_reference),
+    TALER_TESTING_trait_end ()
+  };
+
+  return TALER_TESTING_get_trait (traits,
+                                  ret,
+                                  trait,
+                                  index);
+}
+
+/**
  * FIXME.
  */
 struct TALER_TESTING_Command
@@ -158,6 +185,7 @@ TALER_TESTING_cmd_bank_reject (const char *label,
   cmd.run = &reject_run;
   cmd.cleanup = &reject_cleanup;
   cmd.label = label;
+  cmd.traits = &reject_traits;
 
   return cmd;
 
diff --git a/src/exchange-lib/testing_api_cmd_bank_check.c 
b/src/exchange-lib/testing_api_cmd_bank_check.c
index 9af156f..380f5d6 100644
--- a/src/exchange-lib/testing_api_cmd_bank_check.c
+++ b/src/exchange-lib/testing_api_cmd_bank_check.c
@@ -200,17 +200,19 @@ check_bank_transfer_traits (void *cls,
                             unsigned int index)
 {
   struct BankCheckState *bcs = cls; 
+  struct TALER_WireTransferIdentifierRawP *wtid_ptr;
 
-  GNUNET_assert (GNUNET_OK == 
-    GNUNET_STRINGS_string_to_data
+  if (GNUNET_OK != GNUNET_STRINGS_string_to_data
       (bcs->subject,
        strlen (bcs->subject),
        &bcs->wtid,
-       sizeof (struct TALER_WireTransferIdentifierRawP)));
+       sizeof (struct TALER_WireTransferIdentifierRawP)))
+    wtid_ptr = NULL;
+  wtid_ptr = &bcs->wtid;
 
   struct TALER_TESTING_Trait traits[] = {
     TALER_TESTING_make_trait_transfer_subject (0, bcs->subject),
-    TALER_TESTING_make_trait_wtid (0, &bcs->wtid),
+    TALER_TESTING_make_trait_wtid (0, wtid_ptr),
     TALER_TESTING_make_trait_url (0, bcs->exchange_base_url),
     TALER_TESTING_trait_end ()
   };
@@ -298,6 +300,22 @@ check_bank_empty_run (void *cls,
 }
 
 /**
+ * FIXME.
+ */
+static int
+check_bank_empty_traits (void *cls,
+                         void **ret,
+                         const char *trait,
+                         unsigned int index)
+{
+  /**
+   * Some commands (notably "bank history") could randomly
+   * look for traits; this way makes sure we don't segfault.
+   */
+  return GNUNET_SYSERR;
+}                         
+
+/**
  * Check bank's balance is zero.
  *
  * @param credit_account the account that received money
@@ -312,6 +330,7 @@ TALER_TESTING_cmd_check_bank_empty (const char *label)
   cmd.label = label;
   cmd.run = &check_bank_empty_run;
   cmd.cleanup = &check_bank_empty_cleanup;
+  cmd.traits = &check_bank_empty_traits;
   
   return cmd;
 }
@@ -331,6 +350,7 @@ TALER_TESTING_cmd_check_bank_transfer_with_ref
 
   bcs = GNUNET_new (struct BankCheckState);
   bcs->deposit_reference = deposit_reference;
+
   cmd.label = label;
   cmd.cls = bcs;
   cmd.run = &check_bank_transfer_run;
diff --git a/src/exchange-lib/testing_api_cmd_track.c 
b/src/exchange-lib/testing_api_cmd_track.c
index 8c289ed..3f14c51 100644
--- a/src/exchange-lib/testing_api_cmd_track.c
+++ b/src/exchange-lib/testing_api_cmd_track.c
@@ -722,6 +722,7 @@ track_transfer_run (void *cls,
       TALER_TESTING_interpreter_fail (tts->is);
       return;     
     }
+    GNUNET_assert (NULL != wtid_ptr);
   }
   tts->tth = TALER_EXCHANGE_track_transfer (tts->exchange,
                                             wtid_ptr,

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



reply via email to

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