Message ID | 20170828174707.20786-7-famz@redhat.com |
---|---|
State | New |
Headers | show |
Series | tests: Add VM based build tests (for non-x86_64 and/or non-Linux) | expand |
On 08/28/2017 02:47 PM, Fam Zheng wrote: > The image is prepared following instructions as in: > > https://wiki.qemu.org/Hosts/BSD > > Signed-off-by: Fam Zheng <famz@redhat.com> > Reviewed-by: Kamil Rytarowski <n54@gmx.com> > --- > tests/vm/netbsd | 42 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 42 insertions(+) > create mode 100755 tests/vm/netbsd > > diff --git a/tests/vm/netbsd b/tests/vm/netbsd > new file mode 100755 > index 0000000000..559e89c8a6 > --- /dev/null > +++ b/tests/vm/netbsd > @@ -0,0 +1,42 @@ > +#!/usr/bin/env python > +# > +# NetBSD VM image > +# > +# Copyright (C) 2017 Red Hat Inc. > +# > +# Authors: > +# Fam Zheng <famz@redhat.com> > +# > +# This work is licensed under the terms of the GNU GPL, version 2. See > +# the COPYING file in the top-level directory. > +# > + > +import os > +import sys > +import subprocess > +import basevm > + > +class NetBSDVM(basevm.BaseVM): > + name = "netbsd" > + BUILD_SCRIPT = """ > + set -e; > + cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); > + tar -xf /dev/rld1a; > + ./configure --python=python2.7 {configure_opts}; > + gmake -j{jobs}; > + gmake check; > + """ > + > + def build_image(self, img): > + cimg = self._download_with_cache("http://download.patchew.org/netbsd-7.1-amd64.img.xz", > + sha256sum='b633d565b0eac3d02015cd0c81440bd8a7a8df8512615ac1ee05d318be015732') > + img_tmp_xz = img + ".tmp.xz" > + img_tmp = img + ".tmp" > + subprocess.check_call(["cp", "-f", cimg, img_tmp_xz]) > + subprocess.check_call(["xz", "-df", img_tmp_xz]) > + if os.path.exists(img): > + os.remove(img) > + os.rename(img_tmp, img) > + > +if __name__ == "__main__": > + sys.exit(basevm.main(NetBSDVM)) This one is failing: DEBUG:root:ssh_cmd: ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ConnectTimeout=1 -p 34091 -i /tmp/qemu-vm-59XYOj/id_rsa qemu@127.0.0.1 set -e; cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); tar -xf /dev/rld1a; ./configure --python=python2.7 ; gmake -j4; gmake check; ... CC bt-host.o CC bt-vhci.o CC dma-helpers.o CC vl.o CC tpm.o In file included from vl.c:72:0: /var/tmp/qemu-test.ht0XHU/include/hw/loader.h:4:29: fatal error: hw/nvram/fw_cfg.h: No such file or directory #include "hw/nvram/fw_cfg.h" ^ compilation terminated. /var/tmp/qemu-test.ht0XHU/rules.mak:66: recipe for target 'vl.o' failed gmake: *** [vl.o] Error 1 gmake: *** Waiting for unfinished jobs.... tests/vm/Makefile.include:32: recipe for target 'vm-build-netbsd' failed make: *** [vm-build-netbsd] Error 3
Hi Fam, On 08/29/2017 09:09 AM, Philippe Mathieu-Daudé wrote: [...]>> +if __name__ == "__main__": >> + sys.exit(basevm.main(NetBSDVM)) > > This one is failing: > > DEBUG:root:ssh_cmd: ssh -q -o StrictHostKeyChecking=no -o > UserKnownHostsFile=/dev/null -o ConnectTimeout=1 -p 34091 -i > /tmp/qemu-vm-59XYOj/id_rsa qemu@127.0.0.1 > set -e; > cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); > tar -xf /dev/rld1a; > ./configure --python=python2.7 ; > gmake -j4; > gmake check; > > ... > CC bt-host.o > CC bt-vhci.o > CC dma-helpers.o > CC vl.o > CC tpm.o > In file included from vl.c:72:0: > /var/tmp/qemu-test.ht0XHU/include/hw/loader.h:4:29: fatal error: > hw/nvram/fw_cfg.h: No such file or directory > #include "hw/nvram/fw_cfg.h" > ^ > compilation terminated. > /var/tmp/qemu-test.ht0XHU/rules.mak:66: recipe for target 'vl.o' failed > gmake: *** [vl.o] Error 1 > gmake: *** Waiting for unfinished jobs.... > tests/vm/Makefile.include:32: recipe for target 'vm-build-netbsd' failed > make: *** [vm-build-netbsd] Error 3 Probably false alarm, this seems to be an ENOMEM host error. I later got: CHK version_gen.h Makefile:342: recipe for target 'subdir-dtc' failed gmake[1]: *** No rule to make target 'dtc/libfdt/fdt.h', needed by 'libfdt/fdt.o'. Stop. gmake: *** [subdir-dtc] Error 2 gmake: *** Waiting for unfinished jobs.... which I solved running "gmake -C dtc" after ./configure but I'm not sure it is necessary or can come from my tree, this testing is veeeeeeery slow and mostly kill my laptop, I ended wondering on what kind of hardware you developed this series without going crazy nut :S
On Tue, 08/29 18:47, Philippe Mathieu-Daudé wrote: > Hi Fam, > > On 08/29/2017 09:09 AM, Philippe Mathieu-Daudé wrote: > [...]>> +if __name__ == "__main__": > > > + sys.exit(basevm.main(NetBSDVM)) > > > > This one is failing: > > > > DEBUG:root:ssh_cmd: ssh -q -o StrictHostKeyChecking=no -o > > UserKnownHostsFile=/dev/null -o ConnectTimeout=1 -p 34091 -i > > /tmp/qemu-vm-59XYOj/id_rsa qemu@127.0.0.1 > > set -e; > > cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); > > tar -xf /dev/rld1a; > > ./configure --python=python2.7 ; > > gmake -j4; > > gmake check; > > > > ... > > CC bt-host.o > > CC bt-vhci.o > > CC dma-helpers.o > > CC vl.o > > CC tpm.o > > In file included from vl.c:72:0: > > /var/tmp/qemu-test.ht0XHU/include/hw/loader.h:4:29: fatal error: > > hw/nvram/fw_cfg.h: No such file or directory > > #include "hw/nvram/fw_cfg.h" > > ^ > > compilation terminated. > > /var/tmp/qemu-test.ht0XHU/rules.mak:66: recipe for target 'vl.o' failed > > gmake: *** [vl.o] Error 1 > > gmake: *** Waiting for unfinished jobs.... > > tests/vm/Makefile.include:32: recipe for target 'vm-build-netbsd' failed > > make: *** [vm-build-netbsd] Error 3 > > Probably false alarm, this seems to be an ENOMEM host error. > > I later got: > > CHK version_gen.h > Makefile:342: recipe for target 'subdir-dtc' failed > gmake[1]: *** No rule to make target 'dtc/libfdt/fdt.h', needed by > 'libfdt/fdt.o'. Stop. > gmake: *** [subdir-dtc] Error 2 > gmake: *** Waiting for unfinished jobs.... > > which I solved running "gmake -C dtc" after ./configure but I'm not sure it > is necessary or can come from my tree, this testing is veeeeeeery slow and > mostly kill my laptop, I ended wondering on what kind of hardware you > developed this series without going crazy nut :S Not too beefy, just a Lenovo W541 laptop with i7-4810. To save you from being killed again, maybe we should reduce the default -smp to nr_cores / 2? Fam
diff --git a/tests/vm/netbsd b/tests/vm/netbsd new file mode 100755 index 0000000000..559e89c8a6 --- /dev/null +++ b/tests/vm/netbsd @@ -0,0 +1,42 @@ +#!/usr/bin/env python +# +# NetBSD VM image +# +# Copyright (C) 2017 Red Hat Inc. +# +# Authors: +# Fam Zheng <famz@redhat.com> +# +# This work is licensed under the terms of the GNU GPL, version 2. See +# the COPYING file in the top-level directory. +# + +import os +import sys +import subprocess +import basevm + +class NetBSDVM(basevm.BaseVM): + name = "netbsd" + BUILD_SCRIPT = """ + set -e; + cd $(mktemp -d /var/tmp/qemu-test.XXXXXX); + tar -xf /dev/rld1a; + ./configure --python=python2.7 {configure_opts}; + gmake -j{jobs}; + gmake check; + """ + + def build_image(self, img): + cimg = self._download_with_cache("http://download.patchew.org/netbsd-7.1-amd64.img.xz", + sha256sum='b633d565b0eac3d02015cd0c81440bd8a7a8df8512615ac1ee05d318be015732') + img_tmp_xz = img + ".tmp.xz" + img_tmp = img + ".tmp" + subprocess.check_call(["cp", "-f", cimg, img_tmp_xz]) + subprocess.check_call(["xz", "-df", img_tmp_xz]) + if os.path.exists(img): + os.remove(img) + os.rename(img_tmp, img) + +if __name__ == "__main__": + sys.exit(basevm.main(NetBSDVM))