]> git.saurik.com Git - apple/xnu.git/blobdiff - tools/tests/perf_index/perfindex-ram_file_write.c
xnu-2782.1.97.tar.gz
[apple/xnu.git] / tools / tests / perf_index / perfindex-ram_file_write.c
diff --git a/tools/tests/perf_index/perfindex-ram_file_write.c b/tools/tests/perf_index/perfindex-ram_file_write.c
new file mode 100644 (file)
index 0000000..e8c596b
--- /dev/null
@@ -0,0 +1,36 @@
+#include "perf_index.h"
+#include "fail.h"
+#include "test_file_helper.h"
+#include "ramdisk.h"
+#include <sys/param.h>
+#include <stdio.h>
+
+const char ramdisk_name[] = "StressRAMDisk";
+char ramdisk_path[MAXPATHLEN];
+
+DECL_SETUP {
+    int retval;
+
+    retval = setup_ram_volume(ramdisk_name, ramdisk_path);
+    VERIFY(retval == PERFINDEX_SUCCESS, "setup_ram_volume failed");
+
+    printf("ramdisk: %s\n", ramdisk_path);
+
+    return test_file_write_setup(ramdisk_path, num_threads, length);
+}
+
+DECL_TEST {
+   return test_file_write(ramdisk_path, thread_id, num_threads, length, 0L);
+}
+
+DECL_CLEANUP {
+    int retval;
+
+    retval = test_file_write_cleanup(ramdisk_path, num_threads, length);
+    VERIFY(retval == PERFINDEX_SUCCESS, "test_file_read_cleanup failed");
+
+    retval = cleanup_ram_volume(ramdisk_path);
+    VERIFY(retval == 0, "cleanup_ram_volume failed");
+
+    return PERFINDEX_SUCCESS;
+}