Home | History | Annotate | Download | only in tests
      1 
      2 #include <stdio.h>
      3 #include "valgrind.h"
      4 
      5 /* The simplest possible wrapping test: just call a wrapped function
      6    and check we run the wrapper instead. */
      7 
      8 /* The "original" function */
      9 __attribute__((noinline))
     10 void actual ( void )
     11 {
     12    printf("in actual\n");
     13 }
     14 
     15 /* The wrapper.  Since this executable won't have a soname, we have to
     16    use "NONE", since V treats any executable/.so which lacks a soname
     17    as if its soname was "NONE". */
     18 void I_WRAP_SONAME_FNNAME_ZU(NONE,actual) ( void )
     19 {
     20    OrigFn fn;
     21    VALGRIND_GET_ORIG_FN(fn);
     22    printf("wrapper-pre\n");
     23    CALL_FN_v_v(fn);
     24    printf("wrapper-post\n");
     25 }
     26 
     27 /* --------------- */
     28 
     29 int main ( void )
     30 {
     31    printf("starting\n");
     32    actual();
     33    return 0;
     34 }
     35