summaryrefslogtreecommitdiff
path: root/src/testing
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-07-05 13:19:04 +0200
committerChristian Grothoff <christian@grothoff.org>2022-07-05 13:19:09 +0200
commit43662fbb6a1d1dc3184f69891d7cf68fca0837e7 (patch)
treeb8e14ce3b6a6c4edcf66f22dbbe0aeaaf90c0ca2 /src/testing
parent822090e81e6ca3471b328c895a728428b7661e11 (diff)
downloadexchange-43662fbb6a1d1dc3184f69891d7cf68fca0837e7.tar.gz
exchange-43662fbb6a1d1dc3184f69891d7cf68fca0837e7.tar.bz2
exchange-43662fbb6a1d1dc3184f69891d7cf68fca0837e7.zip
-add safety checks against cmd type confusion
Diffstat (limited to 'src/testing')
-rw-r--r--src/testing/testing_api_cmd_refresh.c46
1 files changed, 22 insertions, 24 deletions
diff --git a/src/testing/testing_api_cmd_refresh.c b/src/testing/testing_api_cmd_refresh.c
index bc0c4e090..2aad77ce3 100644
--- a/src/testing/testing_api_cmd_refresh.c
+++ b/src/testing/testing_api_cmd_refresh.c
@@ -467,6 +467,19 @@ reveal_cb (void *cls,
* @param is the interpreter state.
*/
static void
+melt_run (void *cls,
+ const struct TALER_TESTING_Command *cmd,
+ struct TALER_TESTING_Interpreter *is);
+
+
+/**
+ * Run the command.
+ *
+ * @param cls closure.
+ * @param cmd the command to execute.
+ * @param is the interpreter state.
+ */
+static void
refresh_reveal_run (void *cls,
const struct TALER_TESTING_Command *cmd,
struct TALER_TESTING_Interpreter *is)
@@ -484,7 +497,7 @@ refresh_reveal_run (void *cls,
TALER_TESTING_interpreter_fail (rrs->is);
return;
}
- // FIXME: use trait for 'rms'!
+ GNUNET_assert (melt_cmd->run == &melt_run);
rms = melt_cmd->cls;
{
struct TALER_ExchangeWithdrawValues alg_values[rms->num_fresh_coins];
@@ -791,17 +804,15 @@ refresh_link_run (void *cls,
}
/* find reserve_withdraw command */
+ GNUNET_assert (melt_cmd->run == &melt_run);
+ rms = melt_cmd->cls;
+ coin_cmd = TALER_TESTING_interpreter_lookup_command (rls->is,
+ rms->coin_reference);
+ if (NULL == coin_cmd)
{
- // FIXME: use trait!
- rms = melt_cmd->cls;
- coin_cmd = TALER_TESTING_interpreter_lookup_command (rls->is,
- rms->coin_reference);
- if (NULL == coin_cmd)
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (rls->is);
- return;
- }
+ GNUNET_break (0);
+ TALER_TESTING_interpreter_fail (rls->is);
+ return;
}
const struct TALER_CoinSpendPrivateKeyP *coin_priv;
@@ -864,19 +875,6 @@ refresh_link_cleanup (void *cls,
/**
- * Run the command.
- *
- * @param cls closure.
- * @param cmd the command to execute.
- * @param is the interpreter state.
- */
-static void
-melt_run (void *cls,
- const struct TALER_TESTING_Command *cmd,
- struct TALER_TESTING_Interpreter *is);
-
-
-/**
* Task scheduled to re-try #melt_run.
*
* @param cls a `struct RefreshMeltState`