Remove old testsuite
[dyninst.git] / testsuite / src / dyninst / test3_3_mutatee.c
1 #include <assert.h>
2
3 #include "mutatee_util.h"
4
5 #ifdef os_windows_test
6 #include <process.h>
7 #endif
8
9 /* Externally accessed function prototypes.  These must have globally unique
10  * names.  I suggest following the pattern <testname>_<function>
11  */
12
13 void test3_3_call1(int arg1, int arg2);
14
15 /* Global variables accessed by the mutator.  These must have globally unique
16  * names.
17  */
18
19 volatile int test3_3_ret = (int)0xdeadbeef;
20
21 /* Internally used function prototypes.  These should be declared with the
22  * keyword static so they don't interfere with other mutatees in the group.
23  */
24
25 /* Global variables used internally by the mutatee.  These should be declared
26  * with the keyword static so they don't interfere with other mutatees in the
27  * group.
28  */
29
30 volatile int dummy = 1;
31
32 /* Function definitions follow */
33
34 void test3_3_call1(int arg1, int arg2)
35 {
36      dprintf("test3_3_call1() called with arg1=%d,arg2=%d\n", arg1, arg2);
37 }
38
39 /*
40  * Test #3 - call a function which should be instrumented to set the 
41  *     global variable test3ret to a value (by the mutator).
42  */
43 int test3_3_mutatee() {
44      FILE *fp;
45      char filename[80];
46
47      sprintf(filename, "test3.out.%d", (int)getpid());
48      fp = fopen(filename, "w");
49      assert(fp);
50      fprintf(fp, "%d\n", test3_3_ret);
51      fclose(fp);
52      return 0; /* No error on this end */
53 }