[ovs-dev] [PATCH v2] rhel, xenserver: Run unit tests while creating rpms.
Flavio Leitner
fbl at redhat.com
Tue Jul 1 04:27:55 UTC 2014
On Mon, Jun 30, 2014 at 05:50:20PM -0700, Gurucharan Shetty wrote:
> 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
Works on RHEL-7.0, RHEL-6.5, RHEL-5.10, Fedora 20 and Fedora 18.
I also saw the testsuite failing and the recheck going well, so
no build breakage.
Acked-by: Flavio Leitner <fbl at redhat.com>
> CC: Flavio Leitner <fbl at redhat.com>
> CC: Ben Pfaff <blp at nicira.com>
> Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
> ---
> v1-v2:
> Use "--without check" instead of ' -D "make_check false" ' option
> to skip tests.
> ---
> INSTALL.Fedora | 5 +++++
> INSTALL.RHEL | 5 +++++
> INSTALL.XenServer | 5 +++++
> rhel/openvswitch-fedora.spec.in | 16 ++++++++++++++++
> rhel/openvswitch.spec.in | 16 ++++++++++++++++
> xenserver/openvswitch-xen.spec.in | 16 ++++++++++++++++
> 6 files changed, 63 insertions(+)
>
> diff --git a/INSTALL.Fedora b/INSTALL.Fedora
> index d711e24..0a0515a 100644
> --- a/INSTALL.Fedora
> +++ b/INSTALL.Fedora
> @@ -45,6 +45,11 @@ $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 de85199..40c5d2f 100644
> --- a/INSTALL.RHEL
> +++ b/INSTALL.RHEL
> @@ -94,6 +94,11 @@ $HOME/rpmbuild/SOURCES.
>
> 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 ba25e43..1e23634 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 44cd7b9..30fe439 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 18bc10c..c817cce 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 ae29649..73ac9e3 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
>
> --
> 1.7.9.5
>
More information about the dev
mailing list