[ovs-dev] [PATCH] rhel, xenserver: Run unit tests while creating rpms.

Gurucharan Shetty shettyg at nicira.com
Mon Jun 30 20:10:44 UTC 2014


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 <fbl at redhat.com>
CC: Ben Pfaff <blp at nicira.com>
Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
---
 INSTALL.Fedora                    |    5 +++++
 INSTALL.RHEL                      |    5 +++++
 INSTALL.XenServer                 |    5 +++++
 rhel/openvswitch-fedora.spec.in   |   19 +++++++++++++++++++
 rhel/openvswitch.spec.in          |   19 +++++++++++++++++++
 xenserver/openvswitch-xen.spec.in |   20 ++++++++++++++++++++
 6 files changed, 73 insertions(+)

diff --git a/INSTALL.Fedora b/INSTALL.Fedora
index d711e24..bc4c5d8 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 -D "make_check false" -bb 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..685b535 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 -D "make_check false" -bb 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..5177ef8 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 -D "make_check false" -bb rhel/openvswitch-xen.spec
+
 Build Parameters
 ----------------
 
diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in
index 44cd7b9..3fb8dd2 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.
+#
+# When building, if tests have to be skipped, define the variable 'make_check'.
+# For example:
+# rpmbuild -D "make_check false" -bb rhel/openvswitch.spec
 
 #%define kernel 2.6.40.4-5.fc15.x86_64
 
@@ -26,6 +30,11 @@ Requires(post):  systemd-units
 Requires(preun): systemd-units
 Requires(postun): systemd-units
 
+%if %{?make_check:0}%{!?make_check:1}
+# %{make_check} is not defined
+%define make_check true
+%endif
+
 %description
 Open vSwitch provides standard network bridging functions augmented with
 support for the OpenFlow protocol for remote per-flow control of
@@ -74,6 +83,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 "%{make_check}" != "false"
+    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..da526ac 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.
+#
+# When building, if tests have to be skipped, define the variable 'make_check'.
+# For example:
+# rpmbuild -D "make_check false" -bb rhel/openvswitch.spec
 
 Name: openvswitch
 Summary: Open vSwitch daemon/database/utilities
@@ -21,6 +25,11 @@ Buildroot: /tmp/openvswitch-rpm
 Requires: openvswitch-kmod, logrotate, python
 BuildRequires: openssl-devel
 
+%if %{?make_check:0}%{!?make_check:1}
+# %{make_check} is not defined
+%define make_check true
+%endif
+
 %description
 Open vSwitch provides standard network bridging functions and
 support for the OpenFlow protocol for remote per-flow control of
@@ -67,6 +76,16 @@ rm \
 
 install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch
 
+%check
+%if "%{make_check}" != "false"
+    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..06c8742 100644
--- a/xenserver/openvswitch-xen.spec.in
+++ b/xenserver/openvswitch-xen.spec.in
@@ -17,6 +17,11 @@
 #      -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
+#
+# To disable unit test run, define "make_check" as "false".
+# for example:
+#
+#   rpmbuild -D "make_check false" -bb xenserver/openvswitch-xen.spec
 
 %if %{?openvswitch_version:0}%{!?openvswitch_version:1}
 %define openvswitch_version @VERSION@
@@ -37,6 +42,11 @@
 # build-supplemental-pack.sh requires this naming for kernel module packages
 %define module_package modules-%{kernel_flavor}-%{kernel_version}
 
+%if %{?make_check:0}%{!?make_check:1}
+# %{make_check} is not defined
+%define make_check true
+%endif
+
 Name: openvswitch
 Summary: Open vSwitch daemon/database/utilities
 Group: System Environment/Daemons
@@ -134,6 +144,16 @@ rm \
 
 install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch
 
+%check
+%if "%{make_check}" != "false"
+    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