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