diff --git a/tests/.gitignore b/tests/.gitignore
index 8b20545d33ca2e51d0797104928be31ed7149475..37331d4e0da33d14d26aae85bef497c4cbb728fb 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -8,6 +8,8 @@
 /dup.out
 /fchdir
 /fsync
+/ftruncate
+/ftruncate.out
 /math
 /printf
 /write
diff --git a/tests/Makefile b/tests/Makefile
index d2a82908e02f62e3dde746d08c9750bc3c72edd0..91f0aa222c9cccc21bb1dd40b0d69743f84a3a25 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -7,6 +7,7 @@ BINS=\
 	dup \
 	fchdir \
 	fsync \
+	ftruncate \
 	math \
 	printf \
 	write
diff --git a/tests/ftruncate.c b/tests/ftruncate.c
new file mode 100644
index 0000000000000000000000000000000000000000..7dc4b90d82302a6767e9584868ffefd154f68b16
--- /dev/null
+++ b/tests/ftruncate.c
@@ -0,0 +1,11 @@
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdio.h>
+
+int main (int argc, char** argv) {
+    int fd = creat("ftruncate.out", 0777); 
+    int status;
+    status = ftruncate(fd, 100);
+    printf("ftruncate exited with status code %d\n", status);
+    close(fd);
+}