* @param key_number desired pre-created hostkey to obtain
* @param id set to the peer's identity (hash of the public
* key; if NULL, GNUNET_SYSERR is returned immediately
- * @return GNUNET_SYSERR on error (not enough keys)
+ * @return NULL on error (not enough keys)
*/
-int
+struct GNUNET_CRYPTO_RsaPrivateKey *
GNUNET_TESTING_hostkey_get (const struct GNUNET_TESTING_System *system,
uint32_t key_number,
struct GNUNET_PeerIdentity *id);
char **emsg);
+/**
+ * Obtain the peer identity from a peer handle.
+ *
+ * @param peer peer handle for which we want the peer's identity
+ * @param id identifier for the daemon, will be set
+ */
+void
+GNUNET_TESTING_peer_get_identity (const struct GNUNET_TESTING_Peer *peer,
+ struct GNUNET_PeerIdentity *id);
+
+
/**
* Start the peer.
*
*
* @param cls closure
* @param cfg configuration of the peer that was started
+ * @param peer identity of the peer that was created
*/
typedef void (*GNUNET_TESTING_TestMain)(void *cls,
- const struct GNUNET_CONFIGURATION_Handle *cfg);
-
-
-/**
- * Signature of the 'main' function for a (single-peer) testcase that
- * is run using 'GNUNET_TESTING_system_run_restartable'.
- *
- * @param cls closure
- * @param cfg configuration of the peer that was started
- */
-typedef void (*GNUNET_TESTING_RestartableTestMain)(void *cls,
const struct GNUNET_CONFIGURATION_Handle *cfg,
- const struct GNUNET_TESTING_Peer *peer);
+ struct GNUNET_TESTING_Peer *peer);
/**
void *tm_cls);
-/**
- * See GNUNET_TESTING_service_run.
- * The only difference is that we handle the GNUNET_TESTING_Peer to
- * the RestartableTestMain, so that the peer can be destroyed and re-created
- * to simulate failure in tests.
- */
-int
-GNUNET_TESTING_service_run_restartable (const char *testdir,
- const char *service_name,
- const char *cfgfilename,
- GNUNET_TESTING_RestartableTestMain tm,
- void *tm_cls);
-
-
-
/**
* Sometimes we use the binary name to determine which specific
* test to run. In those cases, the string after the last "_"