kpatch/test/test02.c
Seth Jennings 0cbb7cf5ee add automated testing system
This commit introduces a simple automated testing system
with 3 simple testcase.

For each test case there is a .c, a .patch, and a .inventory
file.  The .c is compiled, using the flags from the kflags file,
to create the original object.  The .c file is then patched
with the .patch file and rebuilt to create the patched object.
The files are then analyzed by the differencing tool and an
output object is generated with a .inventory file that lists
the sections and symbol included in the output object.  That
inventory file is then compared to the .inventory file for
that testcase.  If they are the same, the test passes. If
not, the differences in the inventory files are displayed,
and the test fails.

Signed-off-by: Seth Jennings <sjenning@redhat.com>
2014-03-10 14:36:11 -05:00

23 lines
576 B
C

#include <stdio.h>
static int a = 1;
void test_func() {
printf("%d\n",a);
}
/* this is to ensure that a isn't optimized out by the compiler */
void test_func2() {
a = 2;
}
/*
* This test case ensures that static data structures, normally referenced
* by section in rela entries that reference them, are being converted to
* symbol references, so they can later be linked to the location of the
* data structure in the running kernel
*
* Verification points: test_func() bundle and 'a' symbol should be included.
* 'a' should have GLOBAL bind and NOTYPE type.
*/