On 31/03/2020 10:57, Moyano, Gabriel wrote:
diff --git a/testsuite/dhcpcd01/test_main.c b/testsuite/dhcpcd01/test_main.c
index 358b4ac8..f04c3270 100644
--- a/testsuite/dhcpcd01/test_main.c
+++ b/testsuite/dhcpcd01/test_main.c
@@ -34,6 +34,7 @@
#include <rtems.h>
#include <rtems/dhcpcd.h>
+#include <fcntl.h>
#define TEST_NAME "LIBBSD DHCPCD 1"
@@ -42,11 +43,17 @@ dhcpcd_hook_handler(rtems_dhcpcd_hook *hook, char *const *env)
{
(void)hook;
+ int fd;
+
+ fd = open("/var/hook_out", O_CREAT | O_WRONLY,
+ S_IRWXU | S_IRWXG | S_IRWXO);
while (*env != NULL) {
- printf("%s\n", *env);
+ dprintf(fd, "%s\n", *env);
Do we see the environment in the test output after this change? What
happens if "/var" doesn't exist? I would do the synchronization with the
main thread with an event or semaphore instead of a file.
++env;
}
+
+ close(fd);
}
static rtems_dhcpcd_hook dhcpcd_hook = {
@@ -57,11 +64,22 @@ static rtems_dhcpcd_hook dhcpcd_hook = {
static void
test_main(void)
{
+ int fd;
+ // Add hook
rtems_dhcpcd_add_hook(&dhcpcd_hook);
What is the purpose of this comment? For a function with the name
rtems_dhcpcd_add_hook() it should be obvious that it adds a hook.
- rtems_task_delete(RTEMS_SELF);
- assert(0);
+ // Verify whether an output file is created by the hook
Please use the FreeBSD coding style.
+ while(true)
+ {
+ fd = open("/var/hook_out", O_RDONLY);
+ if (fd >= 0)
+ {
+ close(fd);
+ exit(0);
+ }
+ rtems_task_wake_after(RTEMS_MILLISECONDS_TO_TICKS(1000));
+ }
}
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel