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 <f...@redhat.com> CC: Ben Pfaff <b...@nicira.com> Signed-off-by: Gurucharan Shetty <gshe...@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 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev