summaryrefslogtreecommitdiff
path: root/support-files
diff options
context:
space:
mode:
authorJoerg Bruehe <joerg.bruehe@oracle.com>2012-07-24 12:32:14 +0200
committerJoerg Bruehe <joerg.bruehe@oracle.com>2012-07-24 12:32:14 +0200
commitd4caad52a524c6607ad37680226f7a3d8c0b4c35 (patch)
treef3061b815f6ced69e414ceb6bb5745bc34bb677c /support-files
parent9e75b589758f96289fe1b295e93b0b659349affb (diff)
downloadmariadb-git-d4caad52a524c6607ad37680226f7a3d8c0b4c35.tar.gz
Fix bug#14318456 SPEC FILE DOES NOT RUN THE TEST SUITE DURING RPM BUILD
Add a macro "runselftest" to the spec file for RPM builds. If its value is 1 (the default), the test suite will be run during the RPM build. To prevent that, add this to the rpmbuild command line: --define "runselftest 0" Failures of the test suite will NOT make the RPM build fail! support-files/mysql.spec.sh: Add the "runselftest" macro following the model provided by RedHat. This code is similar to what we plan to use for ULN RPMs.
Diffstat (limited to 'support-files')
-rw-r--r--support-files/mysql.spec.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh
index 5b9a296d90a..0d673e5b339 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -252,6 +252,9 @@ Vendor: %{mysql_vendor}
Provides: msqlormysql MySQL-server mysql
BuildRequires: %{distro_buildreq}
+# Regression tests may take a long time, override the default to skip them
+%{!?runselftest:%global runselftest 1}
+
# Think about what you use here since the first step is to
# run a rm -rf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -403,6 +406,16 @@ For a description of MySQL see the base MySQL RPM or http://www.mysql.com/
##############################################################################
%build
+# Fail quickly and obviously if user tries to build as root
+%if %runselftest
+ if [ x"`id -u`" = x0 ]; then
+ echo "The MySQL regression tests may fail if run as root."
+ echo "If you really need to build the RPM as root, use"
+ echo "--define='runselftest 0' to skip the regression tests."
+ exit 1
+ fi
+%endif
+
# Be strict about variables, bail at earliest opportunity, etc.
set -eu
@@ -480,6 +493,13 @@ mkdir release
make ${MAKE_JFLAG} VERBOSE=1
)
+%if %runselftest
+ MTR_BUILD_THREAD=auto
+ export MTR_BUILD_THREAD
+
+ (cd release && make test-bt-fast || true)
+%endif
+
##############################################################################
%install
@@ -1146,6 +1166,14 @@ echo "=====" >> $STATUS_HISTORY
# merging BK trees)
##############################################################################
%changelog
+* Tue Jul 24 2012 Joerg Bruehe <joerg.bruehe@oracle.com>
+
+- Add a macro "runselftest":
+ if set to 1 (default), the test suite will be run during the RPM build;
+ this can be oveeridden via the command line by adding
+ --define "runselftest 0"
+ Failures of the test suite will NOT make the RPM build fail!
+
* Wed Sep 28 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
- Fix duplicate mentioning of "mysql_plugin" and its manual page,