Hi Sebastian,

The short answer to your question (Do we see the environment in the test output 
after this change?) is no.  I understood that the idea of the test is to verify 
that the hook is called. If this is not correct, the change can be removed. 
Let me ask you if you consider useful the change in testsuite/dhcpcd02.

Regarding the path file, this could be changed to only "/".

Best regards,
Gabriel

-----Original Message-----
From: Sebastian Huber [mailto:sebastian.hu...@embedded-brains.de] 
Sent: Dienstag, 31. März 2020 11:12
To: Moyano Heredia, Victor Gabriel; devel@rtems.org
Subject: Re: [PATCH 3/3] testsuite/dhcpd0x: Tests automatized


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