mirror of
https://github.com/dynup/kpatch
synced 2024-12-12 00:14:35 +00:00
0cbb7cf5ee
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>
23 lines
576 B
C
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.
|
|
*/
|