This commit is contained in:
parent
ff8fcda60c
commit
8e3177313a
169
subversion-make-check-log-to-stdout.patch
Normal file
169
subversion-make-check-log-to-stdout.patch
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
Index: Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- Makefile.in (revision 38431)
|
||||||
|
+++ Makefile.in (working copy)
|
||||||
|
@@ -416,7 +416,10 @@ check: bin $(TEST_DEPS) @BDB_TEST_DEPS@
|
||||||
|
if test "$(PARALLEL)" != ""; then \
|
||||||
|
flags="--parallel $$flags"; \
|
||||||
|
fi; \
|
||||||
|
- $(PYTHON) $(top_srcdir)/build/run_tests.py \
|
||||||
|
+ if test "$(LOG_TO_STDOUT)" != ""; then \
|
||||||
|
+ flags="--log-to-stdout $$flags"; \
|
||||||
|
+ fi; \
|
||||||
|
+ $(PYTHON) $(top_srcdir)/build/run_tests.py \
|
||||||
|
--config-file $(top_srcdir)/subversion/tests/tests.conf \
|
||||||
|
$$flags \
|
||||||
|
'$(abs_srcdir)' '$(abs_builddir)' $(TESTS); \
|
||||||
|
Index: build/run_tests.py
|
||||||
|
===================================================================
|
||||||
|
--- build/run_tests.py (revision 38431)
|
||||||
|
+++ build/run_tests.py (working copy)
|
||||||
|
@@ -36,7 +36,9 @@ class TestHarness:
|
||||||
|
'''Construct a TestHarness instance.
|
||||||
|
|
||||||
|
ABS_SRCDIR and ABS_BUILDDIR are the source and build directories.
|
||||||
|
- LOGFILE is the name of the log file.
|
||||||
|
+ LOGFILE is the name of the log file. If LOGFILE is None, let tests
|
||||||
|
+ print their output to stdout and stderr, and don't print a summary
|
||||||
|
+ at the end (since there's no log file to analyze).
|
||||||
|
BASE_URL is the base url for DAV tests.
|
||||||
|
FS_TYPE is the FS type for repository creation.
|
||||||
|
HTTP_LIBRARY is the HTTP library for DAV-based communications.
|
||||||
|
@@ -71,6 +73,10 @@ class TestHarness:
|
||||||
|
failed = 0
|
||||||
|
for cnt, prog in enumerate(list):
|
||||||
|
failed = self._run_test(prog, cnt, len(list)) or failed
|
||||||
|
+
|
||||||
|
+ if self.log is None:
|
||||||
|
+ return failed
|
||||||
|
+
|
||||||
|
self._open_log('r')
|
||||||
|
log_lines = self.log.readlines()
|
||||||
|
# Print summaries from least interesting to most interesting.
|
||||||
|
@@ -110,8 +116,9 @@ class TestHarness:
|
||||||
|
|
||||||
|
def _open_log(self, mode):
|
||||||
|
'Open the log file with the required MODE.'
|
||||||
|
- self._close_log()
|
||||||
|
- self.log = open(self.logfile, mode)
|
||||||
|
+ if self.logfile:
|
||||||
|
+ self._close_log()
|
||||||
|
+ self.log = open(self.logfile, mode)
|
||||||
|
|
||||||
|
def _close_log(self):
|
||||||
|
'Close the log file.'
|
||||||
|
@@ -129,11 +136,14 @@ class TestHarness:
|
||||||
|
return arg
|
||||||
|
|
||||||
|
progdir, progbase = os.path.split(prog)
|
||||||
|
- # Using write here because we don't want even a trailing space
|
||||||
|
- sys.stdout.write('Running all tests in %s [%d/%d]...' % (
|
||||||
|
- progbase, test_nr + 1, total_tests))
|
||||||
|
- self.log.write('START: %s\n' % progbase)
|
||||||
|
- self.log.flush()
|
||||||
|
+ if self.log:
|
||||||
|
+ # Using write here because we don't want even a trailing space
|
||||||
|
+ sys.stdout.write('Running all tests in %s [%d/%d]...' % (
|
||||||
|
+ progbase, test_nr + 1, total_tests))
|
||||||
|
+ self.log.write('START: %s\n' % progbase)
|
||||||
|
+ self.log.flush()
|
||||||
|
+ else:
|
||||||
|
+ print('START: %s' % progbase)
|
||||||
|
|
||||||
|
if progbase[-3:] == '.py':
|
||||||
|
progname = sys.executable
|
||||||
|
@@ -191,13 +201,16 @@ class TestHarness:
|
||||||
|
# output any failure info.
|
||||||
|
if failed == 1:
|
||||||
|
print('FAILURE')
|
||||||
|
- elif failed:
|
||||||
|
+ elif failed and self.log:
|
||||||
|
self.log.write('FAIL: %s: Unknown test failure see tests.log.\n\n' % progbase)
|
||||||
|
self.log.flush()
|
||||||
|
print('FAILURE')
|
||||||
|
else:
|
||||||
|
print('success')
|
||||||
|
- self.log.write('END: %s\n\n' % progbase)
|
||||||
|
+ if self.log:
|
||||||
|
+ self.log.write('END: %s\n\n' % progbase)
|
||||||
|
+ else:
|
||||||
|
+ print('END: %s\n' % progbase)
|
||||||
|
return failed
|
||||||
|
|
||||||
|
def _run_prog(self, progname, arglist):
|
||||||
|
@@ -210,20 +223,24 @@ class TestHarness:
|
||||||
|
os.close(stdout)
|
||||||
|
os.close(stderr)
|
||||||
|
|
||||||
|
- sys.stdout.flush()
|
||||||
|
- sys.stderr.flush()
|
||||||
|
- self.log.flush()
|
||||||
|
- old_stdout = os.dup(1)
|
||||||
|
- old_stderr = os.dup(2)
|
||||||
|
+ if self.log:
|
||||||
|
+ sys.stdout.flush()
|
||||||
|
+ sys.stderr.flush()
|
||||||
|
+ self.log.flush()
|
||||||
|
+ old_stdout = os.dup(1)
|
||||||
|
+ old_stderr = os.dup(2)
|
||||||
|
try:
|
||||||
|
- os.dup2(self.log.fileno(), 1)
|
||||||
|
- os.dup2(self.log.fileno(), 2)
|
||||||
|
+ if self.log:
|
||||||
|
+ os.dup2(self.log.fileno(), 1)
|
||||||
|
+ os.dup2(self.log.fileno(), 2)
|
||||||
|
rv = os.spawnv(os.P_WAIT, progname, arglist)
|
||||||
|
except:
|
||||||
|
- restore_streams(old_stdout, old_stderr)
|
||||||
|
+ if self.log:
|
||||||
|
+ restore_streams(old_stdout, old_stderr)
|
||||||
|
raise
|
||||||
|
else:
|
||||||
|
- restore_streams(old_stdout, old_stderr)
|
||||||
|
+ if self.log:
|
||||||
|
+ restore_streams(old_stdout, old_stderr)
|
||||||
|
return rv
|
||||||
|
|
||||||
|
|
||||||
|
@@ -233,7 +250,8 @@ def main():
|
||||||
|
['url=', 'fs-type=', 'verbose', 'cleanup',
|
||||||
|
'http-library=', 'server-minor-version=',
|
||||||
|
'fsfs-packing', 'fsfs-sharding=',
|
||||||
|
- 'enable-sasl', 'parallel', 'config-file='])
|
||||||
|
+ 'enable-sasl', 'parallel', 'config-file=',
|
||||||
|
+ 'log-to-stdout'])
|
||||||
|
except getopt.GetoptError:
|
||||||
|
args = []
|
||||||
|
|
||||||
|
@@ -243,8 +261,9 @@ def main():
|
||||||
|
|
||||||
|
base_url, fs_type, verbose, cleanup, enable_sasl, http_library, \
|
||||||
|
server_minor_version, fsfs_sharding, fsfs_packing, parallel, \
|
||||||
|
- config_file = \
|
||||||
|
- None, None, None, None, None, None, None, None, None, None, None
|
||||||
|
+ config_file, log_to_stdout = \
|
||||||
|
+ None, None, None, None, None, None, None, None, None, None, None, \
|
||||||
|
+ None
|
||||||
|
for opt, val in opts:
|
||||||
|
if opt in ['-u', '--url']:
|
||||||
|
base_url = val
|
||||||
|
@@ -268,11 +287,17 @@ def main():
|
||||||
|
parallel = 1
|
||||||
|
elif opt in ['--config-file']:
|
||||||
|
config_file = val
|
||||||
|
+ elif opt in ['--log-to-stdout']:
|
||||||
|
+ log_to_stdout = 1
|
||||||
|
else:
|
||||||
|
raise getopt.GetoptError
|
||||||
|
|
||||||
|
- th = TestHarness(args[0], args[1],
|
||||||
|
- os.path.abspath('tests.log'),
|
||||||
|
+ if log_to_stdout:
|
||||||
|
+ logfile = None
|
||||||
|
+ else:
|
||||||
|
+ logfile = os.path.abspath('tests.log')
|
||||||
|
+
|
||||||
|
+ th = TestHarness(args[0], args[1], logfile,
|
||||||
|
base_url, fs_type, http_library, server_minor_version,
|
||||||
|
verbose, cleanup, enable_sasl, parallel, config_file,
|
||||||
|
fsfs_sharding, fsfs_packing)
|
@ -1,3 +1,22 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 24 17:51:56 CEST 2009 - dmueller@suse.de
|
||||||
|
|
||||||
|
- fix typo in dav svn default configuration (bnc#517143)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 21 22:02:50 CEST 2009 - stsp@elego.de
|
||||||
|
|
||||||
|
- Don't run regression tests on OpenSUSE Factory. It takes too
|
||||||
|
long which causes problems for the build service because the
|
||||||
|
subversion package is being rebuilt often.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jul 18 01:31:27 CEST 2009 - stsp@elego.de
|
||||||
|
|
||||||
|
- To help us figure out why the test suite sometimes hangs on the
|
||||||
|
build service, add a patch which allows logging to stdout
|
||||||
|
and stderr, instead of logging to tests.log, during make check.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jul 6 19:19:23 CEST 2009 - stsp@elego.de
|
Mon Jul 6 19:19:23 CEST 2009 - stsp@elego.de
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@
|
|||||||
# #
|
# #
|
||||||
# <Location />
|
# <Location />
|
||||||
# DAV svn
|
# DAV svn
|
||||||
# SVNParent /srv/svn/repositories/
|
# SVNParentPath /srv/svn/repositories/
|
||||||
# SVNListParentPath on
|
# SVNListParentPath on
|
||||||
# AuthType Basic
|
# AuthType Basic
|
||||||
# AuthName "subversion repository"
|
# AuthName "subversion repository"
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
Name: subversion
|
Name: subversion
|
||||||
Version: 1.6.3
|
Version: 1.6.3
|
||||||
Release: 1
|
Release: 2
|
||||||
# in-tree SWIG version to use for the build:
|
# in-tree SWIG version to use for the build:
|
||||||
%define swig_version 1.3.36
|
%define swig_version 1.3.36
|
||||||
%define sqlite_version 3.6.14.2
|
%define sqlite_version 3.6.14.2
|
||||||
@ -152,6 +152,7 @@ Patch33: subversion.header_wrappers.patch
|
|||||||
Patch34: subversion.allowed-neon.patch
|
Patch34: subversion.allowed-neon.patch
|
||||||
Patch35: subversion.java14.patch
|
Patch35: subversion.java14.patch
|
||||||
Patch36: subversion-ctypes-remove_shebang.patch
|
Patch36: subversion-ctypes-remove_shebang.patch
|
||||||
|
Patch37: subversion-make-check-log-to-stdout.patch
|
||||||
#
|
#
|
||||||
%if %with_ruby
|
%if %with_ruby
|
||||||
%if %{!?rb_arch:1}0
|
%if %{!?rb_arch:1}0
|
||||||
@ -336,6 +337,7 @@ popd #./sqlite-amalgamation
|
|||||||
%patch34 -p0
|
%patch34 -p0
|
||||||
%patch35 -p1
|
%patch35 -p1
|
||||||
%patch36 -p0
|
%patch36 -p0
|
||||||
|
%patch37 -p0
|
||||||
%if 0%{?sles_version} == 9
|
%if 0%{?sles_version} == 9
|
||||||
%__grep -rwl '/usr/bin/python' . | xargs %__sed -i 's|/usr/bin/python|%{_usr}/bin/python2.5|g'
|
%__grep -rwl '/usr/bin/python' . | xargs %__sed -i 's|/usr/bin/python|%{_usr}/bin/python2.5|g'
|
||||||
%__grep -rwl '/usr/bin/env python' . | xargs %__sed -i 's|/usr/bin/env python|%{_usr}/bin/python2.5|g'
|
%__grep -rwl '/usr/bin/env python' . | xargs %__sed -i 's|/usr/bin/env python|%{_usr}/bin/python2.5|g'
|
||||||
@ -622,20 +624,23 @@ if [ "$with_jdk" != "" ] ; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
# Don't run regression tests on Factory, they take too long to complete.
|
||||||
|
# This check needs to be bumped with every release:
|
||||||
|
%if 0%{?suse_version} <= 1110
|
||||||
%if 0%{?sles_version} == 9
|
%if 0%{?sles_version} == 9
|
||||||
export PATH="$PWD/BUILDPATH:$PATH"
|
export PATH="$PWD/BUILDPATH:$PATH"
|
||||||
%endif
|
%endif # sles_version == 9
|
||||||
# During "make check", auth-test loads DSOs at runtime and can't find
|
# During "make check", auth-test loads DSOs at runtime and can't find
|
||||||
# them if we don't set up LD_LIBRARY_PATH as below.
|
# them if we don't set up LD_LIBRARY_PATH as below.
|
||||||
export LD_LIBRARY_PATH="$PWD/subversion/libsvn_auth_kwallet/.libs:$PWD/subversion/libsvn_auth_gnome_keyring/.libs:$LD_LIBRARY_PATH"
|
export LD_LIBRARY_PATH="$PWD/subversion/libsvn_auth_kwallet/.libs:$PWD/subversion/libsvn_auth_gnome_keyring/.libs:$LD_LIBRARY_PATH"
|
||||||
# run test over ra_local (file://)
|
# run test over ra_local (file://)
|
||||||
for fstype in fsfs bdb; do
|
for fstype in fsfs bdb; do
|
||||||
%__make check CLEANUP=true FS_TYPE=$fstype || cat tests.log
|
%__make check LOG_TO_STDOUT=true CLEANUP=true FS_TYPE=$fstype
|
||||||
done
|
done
|
||||||
# run tests over ra_svn (svn://)
|
# run tests over ra_svn (svn://)
|
||||||
$PWD/subversion/svnserve/svnserve --listen-host 127.0.0.1 --pid-file $PWD/svnserve.pid -d -r $PWD/subversion/tests/cmdline
|
$PWD/subversion/svnserve/svnserve --listen-host 127.0.0.1 --pid-file $PWD/svnserve.pid -d -r $PWD/subversion/tests/cmdline
|
||||||
for fstype in fsfs bdb; do
|
for fstype in fsfs bdb; do
|
||||||
%__make check CLEANUP=true FS_TYPE=$fstype BASE_URL=svn://127.0.0.1 || cat tests.log
|
%__make check LOG_TO_STDOUT=true CLEANUP=true FS_TYPE=$fstype BASE_URL=svn://127.0.0.1
|
||||||
done
|
done
|
||||||
kill `cat $PWD/svnserve.pid`
|
kill `cat $PWD/svnserve.pid`
|
||||||
%if %with_java
|
%if %with_java
|
||||||
@ -646,6 +651,7 @@ kill `cat $PWD/svnserve.pid`
|
|||||||
%if %with_ruby
|
%if %with_ruby
|
||||||
%__make check-swig-rb
|
%__make check-swig-rb
|
||||||
%endif # with_ruby
|
%endif # with_ruby
|
||||||
|
%endif # suse_version <= 1110
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
%__rm -rf "%{buildroot}"
|
%__rm -rf "%{buildroot}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user