2 #include "perf_index.h"
5 #define MAX_FILE_SIZE 536870912L
7 const stress_test_t file_ram_create_test
= {"ram_file_create", &stress_file_ram_create_init
, &stress_file_ram_create
, &stress_file_ram_create_cleanup
, &no_validate
};
8 const stress_test_t file_ram_write_test
= {"ram_file_write", &stress_file_ram_write_init
, &stress_file_ram_write
, &stress_file_ram_write_cleanup
, &no_validate
};
9 const stress_test_t file_ram_read_test
= {"ram_file_read", &stress_file_ram_read_init
, &stress_file_ram_read
, &stress_file_ram_read_cleanup
, &no_validate
};
11 static const char ramdiskname
[] = "StressRamDisk";
13 static const char fs_path
[MAXPATHLEN
] = "/Volumes/StressRamDisk";
15 static void setup_ram_volume(void) {
17 assert(asprintf(&cmd
, "diskutil erasevolume HFS+ \"%s\" `hdiutil attach -nomount ram://1500000` >/dev/null", ramdiskname
) >= 0);
18 assert(system(cmd
) == 0);
22 static void cleanup_ram_volume(void) {
24 assert(asprintf(&cmd
, "umount -f %s >/dev/null", fs_path
) >= 0);
25 assert(system(cmd
) == 0);
29 DECL_INIT(stress_file_ram_read_init
) {
31 stress_file_read_init(fs_path
, num_threads
, length
, MAX_FILE_SIZE
);
34 DECL_TEST(stress_file_ram_read
) {
35 stress_file_read(fs_path
, thread_id
, num_threads
, length
, MAX_FILE_SIZE
);
38 DECL_CLEANUP(stress_file_ram_read_cleanup
) {
42 DECL_INIT(stress_file_ram_write_init
) {
44 stress_file_write_init(fs_path
, num_threads
, length
);
47 DECL_TEST(stress_file_ram_write
) {
48 stress_file_write(fs_path
, thread_id
, num_threads
, length
, MAX_FILE_SIZE
);
51 DECL_CLEANUP(stress_file_ram_write_cleanup
) {
55 DECL_INIT(stress_file_ram_create_init
) {
59 DECL_TEST(stress_file_ram_create
) {
60 stress_file_create(fs_path
, thread_id
, num_threads
, length
);
63 DECL_CLEANUP(stress_file_ram_create_cleanup
) {