Remove old testsuite
[dyninst.git] / testsuite / src / dyninst / test_mem_3_mutatee.c
1 #include "test_mem_util.h"
2 #include "mutatee_util.h"
3
4 /* Externally accessed function prototypes.  These must have globally unique
5  * names.  I suggest following the pattern <testname>_<function>
6  */
7
8 /* Global variables accessed by the mutator.  These must have globally unique
9  * names.
10  */
11
12 /* Internally used function prototypes.  These should be declared with the
13  * keyword static so they don't interfere with other mutatees in the group.
14  */
15
16 /* Global variables used internally by the mutatee.  These should be declared
17  * with the keyword static so they don't interfere with other mutatees in the
18  * group.
19  */
20
21 int passed = 0;
22
23 /* Function definitions follow */
24
25 static void check() {
26   if (prefeCnt == prefeExp) {
27     logerror("Passed test_mem_3 (prefetch instrumentation)\n");
28     passed = 1;
29   } else {
30     logerror("**Failed** test_mem_3 (prefetch instrumentation)\n");
31     logerror("    prefetch counter seems wrong.\n");
32   }
33 }
34
35 /* skeleton test doesn't do anything besides say that it passed */
36 int test_mem_3_mutatee() {
37   loadCnt = 0;
38   storeCnt = 0;
39   prefeCnt = 0;
40   accessCnt = 0;
41
42   if (setupFortranOutput()) {
43     logstatus("Error redirecting assembly component output to log file\n");
44   }
45
46   result_of_loadsnstores = loadsnstores(2,3,4);
47   dprintf("\nresult=0x%x loads=%d stores=%d prefetches=%d accesses=%d\n",
48           result_of_loadsnstores, loadCnt, storeCnt, prefeCnt, accessCnt);
49
50   init_test_data();
51
52   check();
53
54   if (cleanupFortranOutput()) {
55     logstatus("Error restoring output to stdout\n");
56   }
57
58   if (passed) {
59     test_passes(testname);
60     return 0; /* No error */
61   } else {
62     return -1; /* Error */
63   }
64 }