aboutsummaryrefslogtreecommitdiff
path: root/src/arm
diff options
context:
space:
mode:
authorLRN <lrn1986@gmail.com>2013-03-13 21:01:29 +0000
committerLRN <lrn1986@gmail.com>2013-03-13 21:01:29 +0000
commit94d238dfdc117e210afffde1c326b5b776b6ac9a (patch)
treec43b3e92f9fc95b9d14507a1d276f69ddd8b5ed3 /src/arm
parent23aa8d77a881c282b6efca16da3c6bccfad0e49f (diff)
downloadgnunet-94d238dfdc117e210afffde1c326b5b776b6ac9a.tar.gz
gnunet-94d238dfdc117e210afffde1c326b5b776b6ac9a.zip
Modify one of the tests to check service list
Diffstat (limited to 'src/arm')
-rw-r--r--src/arm/test_gnunet_service_arm.c29
1 files changed, 24 insertions, 5 deletions
diff --git a/src/arm/test_gnunet_service_arm.c b/src/arm/test_gnunet_service_arm.c
index bd7fe5fa9..a641f10c5 100644
--- a/src/arm/test_gnunet_service_arm.c
+++ b/src/arm/test_gnunet_service_arm.c
@@ -40,6 +40,10 @@
40 40
41static int ret = 1; 41static int ret = 1;
42 42
43static int resolved_ok = 0;
44
45static int asked_for_a_list = 0;
46
43static struct GNUNET_ARM_Handle *arm; 47static struct GNUNET_ARM_Handle *arm;
44 48
45static void 49static void
@@ -60,22 +64,37 @@ arm_stop_cb (void *cls, struct GNUNET_ARM_Handle *h, enum GNUNET_ARM_RequestStat
60} 64}
61 65
62static void 66static void
67service_list (void *cls, struct GNUNET_ARM_Handle *arm,
68 enum GNUNET_ARM_RequestStatus rs,
69 unsigned int count, const char *const*list)
70{
71 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%u services are are currently running\n", count);
72 GNUNET_assert (count == 1);
73 GNUNET_break (0 == strcasecmp (list[0], "resolver (gnunet-service-resolver)"));
74 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Got service list, now stopping arm\n");
75 ret = 0;
76 GNUNET_ARM_request_service_stop (arm, "arm", TIMEOUT, arm_stop_cb, NULL);
77}
78
79static void
63hostNameResolveCB (void *cls, const struct sockaddr *addr, socklen_t addrlen) 80hostNameResolveCB (void *cls, const struct sockaddr *addr, socklen_t addrlen)
64{ 81{
65 if ((ret == 0) || (ret == 4)) 82 if ((ret == 0) || (ret == 4) || (resolved_ok == 1))
66 return; 83 return;
67 if (NULL == addr) 84 if (NULL == addr)
68 { 85 {
69 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Name not resolved!\n"); 86 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Name not resolved!\n");
70 ret = 3; 87 ret = 3;
88 GNUNET_ARM_request_service_stop (arm, "arm", TIMEOUT, arm_stop_cb, NULL);
71 } 89 }
72 else 90 else if (asked_for_a_list == 0)
73 { 91 {
74 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 92 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
75 "Resolved hostname, now stopping ARM\n"); 93 "Resolved hostname, now checking the service list\n");
76 ret = 0; 94 GNUNET_ARM_request_service_list (arm, TIMEOUT, service_list, NULL);
95 asked_for_a_list = 1;
96 resolved_ok = 1;
77 } 97 }
78 GNUNET_ARM_request_service_stop (arm, "arm", TIMEOUT, arm_stop_cb, NULL);
79} 98}
80 99
81static void 100static void