diff --git a/src/kernel/apps/tests/Jamfile b/src/kernel/apps/tests/Jamfile index 579071a7ee..7a8797859a 100644 --- a/src/kernel/apps/tests/Jamfile +++ b/src/kernel/apps/tests/Jamfile @@ -2,7 +2,45 @@ SubDir OBOS_TOP src kernel apps tests ; KernelObjects <$(SOURCE_GRIST)>thread_test.c - <$(SOURCE_GRIST)>fops_test.c + <$(SOURCE_GRIST)>fops_test.c + <$(SOURCE_GRIST)>random_test.c : -fpic -Wno-unused ; + +KernelLd thread_test : + libglue2.o + <$(SOURCE_GRIST)>thread_test.o + libc.so + : + $(OBOS_TOP)/src/kernel/ldscripts/$(OBOS_ARCH)/app.ld + : + : + : + bin/thread_test + ; + +KernelLd fops_test : + libglue2.o + <$(SOURCE_GRIST)>fops_test.o + libc.so + : + $(OBOS_TOP)/src/kernel/ldscripts/$(OBOS_ARCH)/app.ld + : + : + : + bin/fops_test + ; + +KernelLd random_test : + libglue2.o + <$(SOURCE_GRIST)>random_test.o + libc.so + libm.so + : + $(OBOS_TOP)/src/kernel/ldscripts/$(OBOS_ARCH)/app.ld + : + : + : + bin/random_test + ; diff --git a/src/kernel/apps/tests/random_test.c b/src/kernel/apps/tests/random_test.c new file mode 100644 index 0000000000..06f1bb05a8 --- /dev/null +++ b/src/kernel/apps/tests/random_test.c @@ -0,0 +1,44 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define RANDOM_DEVICE "/dev/urandom" +#define RANDOM_CHECKS 5 +#define STR_LEN 16 +int main(int argc, char **argv) +{ + int fd; + char data[STR_LEN]; + int rv, i, j; + + printf("/dev/urandom test\n" + "=================\n\n"); + + fd = open(RANDOM_DEVICE, O_RDONLY); + if (fd < 0) { + printf("Failed to open %s\n", RANDOM_DEVICE); + return -1; + } + + for (i=0; i < RANDOM_CHECKS; i++) { + rv = read(fd, data, STR_LEN); + if (rv < STR_LEN) + break; + printf ("%d: ", i); + for (j=0; j < sizeof(data);j++) { + printf(" %02x ", (uint8)data[j]); + } + printf("\n"); + } + close(fd); + + return 0; +}