[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis] branch master updated: complete test logic
From: |
gnunet |
Subject: |
[taler-anastasis] branch master updated: complete test logic |
Date: |
Fri, 15 Jan 2021 10:17:41 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository anastasis.
The following commit(s) were added to refs/heads/master by this push:
new f0d9be5 complete test logic
f0d9be5 is described below
commit f0d9be52c1cf6acbbb8054e9c9cd6aadcde08f92
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Fri Jan 15 10:17:39 2021 +0100
complete test logic
---
src/include/anastasis_util_lib.h | 4 ++++
src/util/test_anastasis_child_management.c | 33 ++++++++++++++++++++++++++----
2 files changed, 33 insertions(+), 4 deletions(-)
diff --git a/src/include/anastasis_util_lib.h b/src/include/anastasis_util_lib.h
index dc2bf74..7e9062c 100644
--- a/src/include/anastasis_util_lib.h
+++ b/src/include/anastasis_util_lib.h
@@ -66,4 +66,8 @@ ANASTASIS_wait_child (struct GNUNET_OS_Process *proc,
ANASTASIS_ChildCompletedCallback cb,
void *cb_cls);
+void
+ANASTASIS_wait_child_cancel (struct ANASTASIS_ChildWaitHandle *cwh);
+
+
#endif
diff --git a/src/util/test_anastasis_child_management.c
b/src/util/test_anastasis_child_management.c
index 7e131b9..8bbd359 100644
--- a/src/util/test_anastasis_child_management.c
+++ b/src/util/test_anastasis_child_management.c
@@ -32,6 +32,8 @@ static struct ANASTASIS_ChildWaitHandle *cwh;
static int global_ret;
+static pid_t pid;
+
static void
child_completed_callback (void *cls,
@@ -41,17 +43,35 @@ child_completed_callback (void *cls,
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"%lu",
exit_code);
+ pid = -1;
+ GNUNET_SCHEDULER_shutdown ();
}
static void
-test_child_management ()
+do_shutdown (void *cls)
+{
+ if (NULL != cwh)
+ {
+ ANASTASIS_wait_child_cancel (cwh);
+ cwh = NULL;
+ }
+ if (-1 != pid)
+ {
+ kill (pid, 9);
+ pid = -1;
+ }
+}
+
+
+static void
+test_child_management (void *cls)
{
const char *command = "child_management_test.sh";
int p[2];
int ret = pipe (p);
- pid_t pid;
+ (void) cls;
if (0 != ret)
{
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERRROR,
@@ -85,10 +105,14 @@ test_child_management ()
command);
exit (-1);
}
-
+ close (p[0]);
+ GNUNET_SCHEDULER_add_shutdown (&do_shutdown,
+ NULL);
cwh = ANASTASIS_wait_child (pid,
&child_completed_callback,
cls);
+ GNUNET_assert (5 == write (p[1], "Hello", 5));
+ close (p[1]);
}
@@ -99,7 +123,8 @@ main (int argc,
GNUNET_log_setup (argv[0],
"DEBUG",
NULL);
- test_child_management ();
+ GNUNET_SCHEDULER_run (&test_child_management,
+ NULL);
return global_ret;
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-anastasis] branch master updated: complete test logic,
gnunet <=