summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2021-02-24 16:03:57 -0500
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>2021-02-24 16:03:57 -0500
commit3db9d208285f831e62e22e5c725bebb54fb5887e (patch)
treee0ffa473abd9e877e042d9e66cd038daa35f0b3c /test
parent20e74b1b02290656ff42e3074e3b31ef9e2dbaa6 (diff)
downloadlibfaketime-3db9d208285f831e62e22e5c725bebb54fb5887e.tar.gz
Test getentropy
We want to ensure that tools that call getentropy() are also controlled appropriately.
Diffstat (limited to 'test')
-rw-r--r--test/Makefile2
-rw-r--r--test/getentropy_test.c14
-rwxr-xr-xtest/randomtest.sh2
3 files changed, 16 insertions, 2 deletions
diff --git a/test/Makefile b/test/Makefile
index 8959b71..47da88f 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -25,7 +25,7 @@ functest:
%_test: %_test.c
${CC} -o $@ ${CFLAGS} $<
-randomtest: getrandom_test use_lib_random librandom.so repeat_random
+randomtest: getrandom_test use_lib_random librandom.so repeat_random getentropy_test
./randomtest.sh
getpidtest: use_lib_getpid libgetpid.so
diff --git a/test/getentropy_test.c b/test/getentropy_test.c
new file mode 100644
index 0000000..a3d02e6
--- /dev/null
+++ b/test/getentropy_test.c
@@ -0,0 +1,14 @@
+#include <unistd.h>
+#include <stdio.h>
+
+int main() {
+ unsigned char buf[16];
+ if (getentropy(buf, sizeof(buf))) {
+ perror("failed to getentropy()");
+ return 1;
+ }
+ for (size_t i = 0; i < sizeof(buf); i++)
+ printf("%02x", buf[i]);
+ printf("\n");
+ return 0;
+}
diff --git a/test/randomtest.sh b/test/randomtest.sh
index 6f8d124..4055188 100755
--- a/test/randomtest.sh
+++ b/test/randomtest.sh
@@ -6,7 +6,7 @@ set -e
error=0
-for iface in getrandom; do
+for iface in getrandom getentropy; do
printf "Testing %s() interception...\n" "$iface"
"./${iface}_test" > "${iface}.alone"