1#include "perf_index.h" 2#include "fail.h" 3#include <stdio.h> 4#include <stdlib.h> 5 6static const char *src_dst = "/tmp/perf_index_compile_code"; 7static const char *src_root = "/Network/Servers/xs1/release/Software/Zin/Projects/xnu/xnu-2050.7.9"; 8 9DECL_SETUP { 10 char* cmd; 11 int retval; 12 const char *src = src_root; 13 if(test_argc >= 1) 14 src = (char*)test_argv[0]; 15 16 retval = asprintf(&cmd, "ditto \"%s\" \"%s\"", src, src_dst); 17 VERIFY(retval > 0, "asprintf failed"); 18 19 retval = system(cmd); 20 VERIFY(retval == 0, "ditto command failed"); 21 22 free(cmd); 23 24 return PERFINDEX_SUCCESS; 25} 26 27DECL_TEST { 28 char* cmd; 29 int retval; 30 31 if(thread_id != 0) 32 return 0; 33 34 retval = asprintf(&cmd, "make -C \"%s\" MAKEJOBS=-j%d", src_dst, num_threads); 35 VERIFY(retval > 0, "asprintf failed"); 36 37 retval = system(cmd); 38 VERIFY(retval == 0, "make command failed"); 39 40 return PERFINDEX_SUCCESS; 41} 42 43DECL_CLEANUP { 44 char* cmd; 45 int retval; 46 47 retval = asprintf(&cmd, "rm -rf \"%s\"", src_dst); 48 VERIFY(retval > 0, "asprintf failed"); 49 50 retval = system(cmd); 51 VERIFY(retval == 0, "rm command failed"); 52 53 return PERFINDEX_SUCCESS; 54} 55