[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