[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [OSSTEST PATCH 05/11] ts-xen-build: Build livepatches test-cases



From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>

Livepatch compiles and works on x86/ARM{32|64} so we can enable it
in the Xen config when requested by the enable_livepatch runvar.

When we are trying to build with enable_livepatch, run `make
dist-tests' as well, to ship the test cases.  This depends on a
corresponding change to xen.git.

Finally, split the livepatch tests into their own stashed deliverable
from this job.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>

---
v1: New posting
v2: Put the livepatch test-cases in xentlpdist.tar.gz file
v3: Use enable_livepatch to gate the build and tarring the test-cases.
v4: Call `make dist-tests' rather than calling directly deep
     into the xen.git build system.
    Split the output ourselves in `divide' (since make dist-tests
     puts things into dist/install/.)
    Expect the livepath output in DESTDIR/usr/lib/debug/xen-livepatch
     rather than directly in DESTDIR/usr/lib/debug.
    Minor style fix.
    Rewrote the commit message.
---
 ts-xen-build | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/ts-xen-build b/ts-xen-build
index 31acb9d..eaf44b1 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -51,6 +51,7 @@ $dashdashdash //= -1;
 builddirsprops();
 
 my $enable_xsm = ($r{enable_xsm}//'false') =~ m/true/ ? 1 : 0;
+my $enable_livepatch = ($r{enable_livepatch}//'false') =~ m/true/ ? 1 : 0;
 
 $buildcmd_global_prefix= <<END;
     export XEN_CONFIG_EXPERT=y
@@ -95,6 +96,12 @@ sub checkout () {
        echo >>.config LIBLEAFDIR_x86_64=lib
        echo >>.config KERNELS=''
 END
+               (${enable_livepatch} ? <<END : '').
+       if test -f xen/Kconfig; then
+               echo >>xen/.config CONFIG_LIVEPATCH=y
+               echo >>xen/.config CONFIG_FAST_SYMBOL_LOOKUP=y
+    fi
+END
                (nonempty($r{enable_xsm}) ? <<END : '').
        if test -f xen/Kconfig; then
                echo >>xen/.config CONFIG_XSM='${build_xsm}'
@@ -164,6 +171,12 @@ END
 END
        store_runvar("flaskpolicy", "xenpolicy-" . $xen_version);
     }
+
+    if ($enable_livepatch) {
+        buildcmd_stamped_logged(600, 'xen', 'xenlpt', '',<<END,'')
+            $make_prefix make $makeflags dist-tests
+END
+    }
 }
 
 sub divide () {
@@ -193,6 +206,12 @@ sub divide () {
                 mv \$mvfiles xeninstall/boot/.
             fi
         fi
+        lp=usr/lib/debug/xen-livepatch
+        mkdir -p xenlpt/\$lp
+        if test -d install/\$lp; then
+            mvfiles=`find install/\$lp '(' -name 'xen-syms*' -o -name '*.map' 
-o -name '*.livepatch' ')' -print`
+            mv \$mvfiles xenlpt/\$lp/.
+        fi
        if test -d install/usr/lib64/efi/; then
             if test -f install/usr/lib64/efi/xen.efi; then
                 mkdir -p xeninstall/usr/lib64/efi
@@ -209,6 +228,8 @@ sub stash () {
                     "xen/dist/${part}install",
                     "${part}dist");
     }
+    built_stash($ho, $builddir, "xen/dist/xenlpt", "xenlptdist")
+       if $enable_livepatch;
     built_stash_file($ho, $builddir, "xen-syms", "xen/xen/xen-syms", 1);
     built_stash_file($ho, $builddir, "xen-config", "xen/.config", 1);
     built_stash_file($ho, $builddir, "xen-hv-config", "xen/xen/.config", 1);
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.