/* * Test case for appio * Author: Tushar Mohan * tusharmohan@gmail.com * * Description: This test case reads from standard linux /etc/group * and writes the output to /dev/null * Fread and fwrite are used for I/O. * Statistics are printed at the end of the run., */ #include #include #include #include #include #include #include #include #include "papi.h" #include "papi_test.h" #define NUM_EVENTS 8 int main(int argc, char** argv) { int Events[NUM_EVENTS]; const char* names[NUM_EVENTS] = {"READ_CALLS", "READ_BYTES","READ_USEC","READ_ERR", "READ_EOF", "WRITE_CALLS","WRITE_BYTES","WRITE_USEC"}; long long values[NUM_EVENTS]; char *infile = "/etc/group"; /* Set TESTS_QUIET variable */ tests_quiet( argc, argv ); int version = PAPI_library_init (PAPI_VER_CURRENT); if (version != PAPI_VER_CURRENT) { fprintf(stderr, "PAPI_library_init version mismatch\n"); exit(1); } if (!TESTS_QUIET) printf("This program will read %s and write it to /dev/null\n", infile); FILE* fdin=fopen(infile, "r"); if (fdin == NULL) perror("Could not open file for reading: \n"); FILE* fout=fopen("/dev/null", "w"); if (fout == NULL) perror("Could not open file for writing: \n"); int bytes = 0; char buf[1024]; int retval; int e; for (e=0; e 0) { fwrite(buf, 1, bytes, fout); } fclose(fdin); fclose(fout); /* Stop counting events */ if (PAPI_stop_counters(values, NUM_EVENTS) != PAPI_OK) { fprintf(stderr, "Error in PAPI_stop_counters\n"); } if (!TESTS_QUIET) { printf("----\n"); for (e=0; e