diff --git a/.gitattributes b/.gitattributes
index 1c7c6a093c865460ffdd6b19e872e18fbd4ad7af..fd97dd4fc1c8cbe1c45be4deec5ea71a5e731b79 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -399,6 +399,7 @@ testfont binary
 /src/modules/files/file.c foreign_ident
 /src/modules/files/file.h foreign_ident
 /src/modules/files/sendfile.c foreign_ident
+/src/modules/files/sendfiletest.pike foreign_ident
 /src/modules/files/socket.c foreign_ident
 /src/modules/files/socktest.pike foreign_ident
 /src/modules/files/termios.c foreign_ident
diff --git a/src/modules/files/sendfiletest.pike b/src/modules/files/sendfiletest.pike
new file mode 100644
index 0000000000000000000000000000000000000000..4658817f656031385d910d92a9590436250fe45f
--- /dev/null
+++ b/src/modules/files/sendfiletest.pike
@@ -0,0 +1,37 @@
+#!/usr/local/bin/pike
+
+/* $Id: sendfiletest.pike,v 1.1 1999/10/14 20:52:01 grubba Exp $ */
+
+void done(int sent)
+{
+  rm("conftest.Makefile");
+  exit(0);
+}
+
+int main(int argc, array(string) argv)
+{
+  object from = Stdio.File();
+  object to = Stdio.File();
+
+  if (!from->open("Makefile", "r")) {
+    werror("Failed to open \"Makefile\" for reading!\n");
+    exit(1);
+  }
+  if (!from->open("conftest.Makefile", "cwt")) {
+    werror("Failed to open \"conftest.Makefile\" for writing!\n");
+    exit(1);
+  }
+  mixed err = catch {
+    if (!Stdio.sendfile(0, from, 0, -1, 0, to, done)) {
+      werror("Stdio,sendfile() failed!\n");
+      exit(1);
+    }
+    return(-1);
+  };
+  catch {
+    werror("Stdio.sendfile() failed!\n"
+	   "%s\n",
+	   describe_backtrace(err));
+  };
+  exit(1);
+}