33 int eventSetCount,
ret;
49 test_fail(__FILE__, __LINE__,
"PAPI_library_init failed\n",
ret);
54 fprintf(stderr,
"Testing PCP Component with PAPI %d.%d.%d\n",
69 for (
i=0;
i<k && cid<0;
i++) {
72 if (aComponent == NULL) {
73 sprintf(errMsg,
"PAPI_get_component_info(%i) failed, " 74 "returned NULL. %i components reported.\n",
i,k);
79 if (strcmp(
"pcp", aComponent->
name) == 0) cid=
i;
83 sprintf(errMsg,
"Failed to find pcp component among %i " 84 "reported components.\n", k);
89 fprintf(stderr,
"Found PCP Component at id %d\n",cid);
108 test_fail(__FILE__, __LINE__,
"PAPI_enum_cmp_event failed.\n",
116 if (!
quiet) printf(
"Component Idx, Symbol, Units, Description, HexCode (this run only), Time Scope, PAPI_TYPE, Sample Value\n");
129 sprintf(errMsg,
"PAPI_get_event_info(%i) failed.\n", k);
136 test_fail(__FILE__, __LINE__,
"PAPI_enum_create_eventset failed.\n",
ret);
154 test_fail(__FILE__, __LINE__,
"PAPI_set_opt failed.\n",
178 if (code != k && code != (k+1)) {
179 retlen = snprintf(errMsg,
PAPI_MAX_STR_LEN,
"PAPI_event_name_to_code('%s') " 180 "returned code 0x%08X, expected 0x%08X. failure.\n",
184 test_fail( __FILE__, __LINE__, errMsg, 0);
191 retlen = snprintf(errMsg,
PAPI_MAX_STR_LEN,
"PAPI_event_code_to_name(('0x%08X') failed.\n", code);
197 if (strcmp(info.
symbol, testName) != 0) {
198 retlen = snprintf(errMsg,
PAPI_MAX_STR_LEN,
"PAPI_event_code_to_name(('0x%08X') " 199 "returned name=\"'%s'\", expected \"%s\". failure.\n",
200 code, testName, info.
symbol);
203 test_fail( __FILE__, __LINE__, errMsg, 0);
208 sprintf(errMsg,
"PAPI_add_event('0x%08X') failed.\n", code);
214 sprintf(errMsg,
"PAPI_start_event('0x%08X') failed.\n", code);
221 values = calloc(eventSetCount,
sizeof(
long long));
225 test_fail( __FILE__, __LINE__,
"PAPI_read(EventSet) failed.\n",
ret);
231 printf(
"%i, %s, %s, %s, 0x%08x,",
238 printf(
"SINCE START,");
245 printf(
"INT64, %lli", cvt.
ll);
249 printf(
"UINT64, %llu", cvt.
ull);
253 printf(
"FP64, %f", cvt.
d);
257 printf(
"UNKNOWN TYPE, %p", cvt.
vp);
266 test_fail( __FILE__, __LINE__,
"PAPI_reset_event() failed\n",
ret);
271 test_fail( __FILE__, __LINE__,
"PAPI_stop_event(EventSet, values) failed.\n",
ret);
279 test_fail( __FILE__, __LINE__,
"PAPI_cleanup_eventset(EventSet) failed.\n",
ret);
284 test_fail( __FILE__, __LINE__,
"PAPI_destroy_eventset(EventSet) failed.\n",
ret);
297 test_fail(__FILE__, __LINE__,
"PAPI_enum_create_eventset failed.\n",
ret);
303 test_fail(__FILE__, __LINE__,
"PAPI_enum_cmp_event failed.\n",
312 retlen = snprintf(errMsg,
PAPI_MAX_STR_LEN,
"PAPI_get_event_info(%i) failed.\n", k);
332 sprintf(errMsg,
"Test should have been able to add all %i events; failed after %i.\n",
count,
i);
333 test_fail(__FILE__, __LINE__, errMsg, 0);
338 test_fail( __FILE__, __LINE__,
"PAPI_cleanup_eventset(EventSet) failed.\n",
ret);
343 test_fail( __FILE__, __LINE__,
"PAPI_destroy_eventset(EventSet) failed.\n",
ret);
346 if (!
quiet) fprintf(stderr,
"PCP discovered %i events; added " 349 if (!
quiet) fprintf(stderr,
"Shutdown completed.\n");
static struct timeval t1 t2
int PAPI_stop(int EventSet, long long *values)
const PAPI_component_info_t * PAPI_get_component_info(int cidx)
void test_pass(const char *filename)
int PAPI_add_event(int EventSet, int EventCode)
int PAPI_reset(int EventSet)
char units[PAPI_MIN_STR_LEN]
int PAPI_num_components(void)
char long_descr[PAPI_HUGE_STR_LEN]
int PAPI_event_name_to_code(const char *in, int *out)
A pointer to the following is passed to PAPI_set/get_opt()
#define mConvertUsec(timeval_)
int PAPI_set_opt(int option, PAPI_option_t *ptr)
int PAPI_get_event_info(int EventCode, PAPI_event_info_t *info)
int PAPI_add_named_event(int EventSet, const char *EventName)
int PAPI_library_init(int version)
#define PAPI_VERSION_MAJOR(x)
int PAPI_num_events(int EventSet)
char symbol[PAPI_HUGE_STR_LEN]
#define PAPI_VERSION_REVISION(x)
char name[PAPI_MAX_STR_LEN]
int PAPI_enum_cmp_event(int *EventCode, int modifier, int cidx)
#define PAPI_VERSION_MINOR(x)
int PAPI_cleanup_eventset(int EventSet)
int PAPI_create_eventset(int *EventSet)
int PAPI_event_code_to_name(int EventCode, char *out)
int gettimeofday(void *ptr1, void *ptr2)
char * PAPI_strerror(int errorCode)
int tests_quiet(int argc, char **argv)
void test_fail(const char *file, int line, const char *call, int retval)
int PAPI_destroy_eventset(int *EventSet)
int PAPI_remove_named_event(int EventSet, const char *EventName)
PAPI_domain_option_t domain
int PAPI_read(int EventSet, long long *values)
int PAPI_start(int EventSet)
static long long values[NUM_EVENTS]