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

Reply via email to