From: Gurucharan Shetty Date: Mon, 23 Jun 2014 21:05:00 +0000 (-0700) Subject: rhel, xenserver: Run unit tests while creating rpms. X-Git-Tag: v2.3~46 X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fovs.git;a=commitdiff_plain;h=b9610c57261863a9b4dcf2f8c93f50a223937f5a rhel, xenserver: Run unit tests while creating rpms. For RHEL, Fedora and Xenserver, run unit tests while building rpms. This may catch some cross-platform bugs. The commit also allows the users to optionally skip unit tests. (On debian, the default is to run unit tests. For consistency, do the same for rpms.) VMware-BZ: 1267127 CC: Flavio Leitner CC: Ben Pfaff Signed-off-by: Gurucharan Shetty Acked-by: Flavio Leitner Tested-by: Flavio Leitner --- diff --git a/INSTALL.Fedora b/INSTALL.Fedora index 708cae604..484fb8775 100644 --- a/INSTALL.Fedora +++ b/INSTALL.Fedora @@ -31,6 +31,11 @@ Fedora. On Fedora 17, it is $HOME/rpmbuild/SOURCES. This produces one RPM: "openvswitch". + The above command automatically runs the Open vSwitch unit tests. + To disable the unit tests, run: + + rpmbuild -bb --without check rhel/openvswitch-fedora.spec + 5. On Fedora 17, to build the Open vSwitch kernel module, run: rpmbuild -bb rhel/openvswitch-kmod-fedora.spec diff --git a/INSTALL.RHEL b/INSTALL.RHEL index f46ad98a9..b7b294bbc 100644 --- a/INSTALL.RHEL +++ b/INSTALL.RHEL @@ -79,6 +79,11 @@ RHEL. On RHEL 5, the default RPM source directory is This produces two RPMs: "openvswitch" and "openvswitch-debuginfo". + The above command automatically runs the Open vSwitch unit tests. + To disable the unit tests, run: + + rpmbuild -bb --without check rhel/openvswitch.spec + If the build fails with "configure: error: source dir /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist" or similar, then the kernel-devel package is missing or buggy. Go back to step diff --git a/INSTALL.XenServer b/INSTALL.XenServer index d6f581626..852a04255 100644 --- a/INSTALL.XenServer +++ b/INSTALL.XenServer @@ -36,6 +36,11 @@ RPMs for Citrix XenServer is the DDK VM available from Citrix. "openvswitch", "openvswitch-modules-xen", and "openvswitch-debuginfo". + The above command automatically runs the Open vSwitch unit tests. + To disable the unit tests, run: + + rpmbuild -bb --without check xenserver/openvswitch-xen.spec + Build Parameters ---------------- diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in index 44cd7b979..30fe43924 100644 --- a/rhel/openvswitch-fedora.spec.in +++ b/rhel/openvswitch-fedora.spec.in @@ -6,6 +6,10 @@ # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without warranty of any kind. +# +# If tests have to be skipped while building, specify the '--without check' +# option. For example: +# rpmbuild -bb --without check rhel/openvswitch-fedora.spec #%define kernel 2.6.40.4-5.fc15.x86_64 @@ -26,6 +30,8 @@ Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units +%bcond_without check + %description Open vSwitch provides standard network bridging functions augmented with support for the OpenFlow protocol for remote per-flow control of @@ -74,6 +80,16 @@ install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch # Get rid of stuff we don't want to make RPM happy. (cd "$RPM_BUILD_ROOT" && rm -f usr/lib/lib*) +%check +%if %{with check} + if make check TESTSUITEFLAGS='%{_smp_mflags}' || + make check TESTSUITEFLAGS='--recheck'; then :; + else + cat tests/testsuite.log + exit 1 + fi +%endif + %clean rm -rf $RPM_BUILD_ROOT diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in index 18bc10c22..c817cce06 100644 --- a/rhel/openvswitch.spec.in +++ b/rhel/openvswitch.spec.in @@ -6,6 +6,10 @@ # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without warranty of any kind. +# +# If tests have to be skipped while building, specify the '--without check' +# option. For example: +# rpmbuild -bb --without check rhel/openvswitch.spec Name: openvswitch Summary: Open vSwitch daemon/database/utilities @@ -21,6 +25,8 @@ Buildroot: /tmp/openvswitch-rpm Requires: openvswitch-kmod, logrotate, python BuildRequires: openssl-devel +%bcond_without check + %description Open vSwitch provides standard network bridging functions and support for the OpenFlow protocol for remote per-flow control of @@ -67,6 +73,16 @@ rm \ install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch +%check +%if %{with check} + if make check TESTSUITEFLAGS='%{_smp_mflags}' || + make check TESTSUITEFLAGS='--recheck'; then :; + else + cat tests/testsuite.log + exit 1 + fi +%endif + %clean rm -rf $RPM_BUILD_ROOT diff --git a/xenserver/openvswitch-xen.spec.in b/xenserver/openvswitch-xen.spec.in index ae296498b..73ac9e337 100644 --- a/xenserver/openvswitch-xen.spec.in +++ b/xenserver/openvswitch-xen.spec.in @@ -17,6 +17,10 @@ # -D "kernel_version 2.6.32.12-0.7.1.xs5.6.100.323.170596" # -D "kernel_flavor xen" # -bb /usr/src/redhat/SPECS/openvswitch-xen.spec +# +# If tests have to be skipped while building, specify the '--without check' +# option. For example: +# rpmbuild -bb --without check xenserver/openvswitch-xen.spec %if %{?openvswitch_version:0}%{!?openvswitch_version:1} %define openvswitch_version @VERSION@ @@ -37,6 +41,8 @@ # build-supplemental-pack.sh requires this naming for kernel module packages %define module_package modules-%{kernel_flavor}-%{kernel_version} +%bcond_without check + Name: openvswitch Summary: Open vSwitch daemon/database/utilities Group: System Environment/Daemons @@ -134,6 +140,16 @@ rm \ install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch +%check +%if %{with check} + if make check TESTSUITEFLAGS='%{_smp_mflags}' || + make check TESTSUITEFLAGS='--recheck'; then :; + else + cat tests/testsuite.log + exit 1 + fi +%endif + %clean rm -rf $RPM_BUILD_ROOT