--- testsuite/dhcpcd01/test_main.c | 24 +++++++++++++++++++++--- testsuite/dhcpcd02/test_main.c | 19 +++++++++++++++++-- 2 files changed, 38 insertions(+), 5 deletions(-)
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); ++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); - rtems_task_delete(RTEMS_SELF); - assert(0); + // Verify whether an output file is created by the hook + 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)); + } } #define DEFAULT_NETWORK_DHCPCD_ENABLE diff --git a/testsuite/dhcpcd02/test_main.c b/testsuite/dhcpcd02/test_main.c index 611c12b1..d5a6900f 100644 --- a/testsuite/dhcpcd02/test_main.c +++ b/testsuite/dhcpcd02/test_main.c @@ -32,14 +32,29 @@ #include <assert.h> #include <rtems.h> +#include <fcntl.h> +#include <glob.h> #define TEST_NAME "LIBBSD DHCPCD 2" static void test_main(void) { - rtems_task_delete(RTEMS_SELF); - assert(0); + int fd; + glob_t globbuf; + + // Verify whether the dhcpcd creates a file with the lease + while(true) + { + glob("/var/db/dhcpcd-*.lease", 0, NULL, &globbuf); + fd = open(globbuf.gl_pathv[0], O_RDONLY); + if (fd >= 0) + { + close(fd); + exit(0); + } + rtems_task_wake_after(RTEMS_MILLISECONDS_TO_TICKS(1000)); + } } #define DEFAULT_NETWORK_DHCPCD_ENABLE -- 2.12.3 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel