aboutsummaryrefslogtreecommitdiff
path: root/tests/mmap_file.c
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-11-01 18:26:58 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-11-01 18:26:58 -0700
commit3d48329892cd517b2e709ef94a00df8214169ddd (patch)
tree988d17b59d4fc2473a6d7a63df0f4117b711bcf4 /tests/mmap_file.c
parent75af3c1ac8dba93b508b8b431bef9a35e6b054c3 (diff)
parent2c3d580bf9122ec4aef9ee8d462281d3fd810355 (diff)
Merge branch 'incoming' into f32
Conflicts: src/parseTools.js
Diffstat (limited to 'tests/mmap_file.c')
-rw-r--r--tests/mmap_file.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/mmap_file.c b/tests/mmap_file.c
new file mode 100644
index 00000000..6eed95e0
--- /dev/null
+++ b/tests/mmap_file.c
@@ -0,0 +1,27 @@
+#include <stdio.h>
+#include <sys/mman.h>
+#include <emscripten.h>
+#include <string.h>
+#include <assert.h>
+
+int main() {
+ printf("*\n");
+ FILE *f = fopen("data.dat", "r");
+ char *m;
+ m = (char*)mmap(NULL, 9000, PROT_READ, MAP_PRIVATE, fileno(f), 0);
+ for (int i = 0; i < 20; i++) putchar(m[i]);
+ assert(!strncmp(m, "data from the file .", 20));
+ munmap(m, 9000);
+ printf("\n");
+ m = (char*)mmap(NULL, 9000, PROT_READ, MAP_PRIVATE, fileno(f), 5);
+ for (int i = 0; i < 20; i++) putchar(m[i]);
+ assert(!strncmp(m, "from the file ......", 20));
+ munmap(m, 9000);
+ printf("\n*\n");
+
+#ifdef REPORT_RESULT
+ int result = 1;
+ REPORT_RESULT();
+#endif
+ return 0;
+}