You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/02/05 03:17:33 UTC
svn commit: r1067380 [3/3] - in /subversion/trunk/subversion/tests/cmdline:
./ svntest/
Modified: subversion/trunk/subversion/tests/cmdline/stat_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/stat_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/stat_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/stat_tests.py Sat Feb 5 02:17:32 2011
@@ -35,9 +35,12 @@ import svntest
from svntest import wc
# (abbreviation)
-Skip = svntest.testcase.Skip
-SkipUnless = svntest.testcase.SkipUnless
-XFail = svntest.testcase.XFail
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
UnorderedOutput = svntest.verify.UnorderedOutput
@@ -65,7 +68,7 @@ def status_unversioned_file_in_current_d
#----------------------------------------------------------------------
# Regression for issue #590
-
+@Issue(590)
def status_update_with_nested_adds(sbox):
"run 'status -u' when nested additions are pending"
@@ -132,7 +135,7 @@ def status_shows_all_in_current_dir(sbox
#----------------------------------------------------------------------
-
+@Issue(2127)
def status_missing_file(sbox):
"status with a versioned file missing"
@@ -269,7 +272,7 @@ def status_type_change(sbox):
[], 'status')
#----------------------------------------------------------------------
-
+@SkipUnless(svntest.main.is_posix_os)
def status_type_change_to_symlink(sbox):
"status on versioned items replaced by symlinks"
@@ -583,6 +586,7 @@ def status_uninvited_parent_directory(sb
if re.match("\\s+\\*.*\.other/?$", line):
raise svntest.Failure
+@Issue(1289)
def status_on_forward_deletion(sbox):
"status -u on working copy deleted in HEAD"
# See issue #1289.
@@ -776,6 +780,7 @@ use-commit-times = yes
#----------------------------------------------------------------------
+@Issues([1617,2030])
def status_on_unversioned_dotdot(sbox):
"status on '..' where '..' is not versioned"
# See issue #1617 (and #2030).
@@ -798,6 +803,7 @@ def status_on_unversioned_dotdot(sbox):
#----------------------------------------------------------------------
+@Issue(2122)
def status_on_partially_nonrecursive_wc(sbox):
"status -u in partially non-recursive wc"
# Based on issue #2122.
@@ -960,8 +966,9 @@ def status_ignored_dir(sbox):
#----------------------------------------------------------------------
+@Issue(2030)
def status_unversioned_dir(sbox):
- "status on unversioned dir (issue 2030)"
+ "status on unversioned dir"
sbox.build(read_only = True)
dir = sbox.repo_dir
expected_err = "svn: warning: W155007: '.*(/|\\\\)" + os.path.basename(dir) + \
@@ -1128,6 +1135,7 @@ def inconsistent_eol(sbox):
#----------------------------------------------------------------------
# Test for issue #2533
+@Issue(2533)
def status_update_with_incoming_props(sbox):
"run 'status -u' variations w/ incoming propchanges"
@@ -1341,6 +1349,7 @@ def status_update_verbose_with_incoming_
#----------------------------------------------------------------------
# Test for issue #2468
+@Issue(2468)
def status_nonrecursive_update(sbox):
"run 'status -uN' with incoming changes"
@@ -1559,6 +1568,7 @@ def status_depth_update(sbox):
#----------------------------------------------------------------------
# Test for issue #2420
+@Issue(2420)
def status_dash_u_deleted_directories(sbox):
"run 'status -u' with locally deleted directories"
@@ -1626,6 +1636,7 @@ def status_dash_u_deleted_directories(sb
# Test for issue #2737: show obstructed status for versioned directories
# replaced by local directories.
+@Issue(2737)
def status_dash_u_type_change(sbox):
"status -u on versioned items whose type changed"
@@ -1782,6 +1793,8 @@ def status_with_tree_conflicts(sbox):
#----------------------------------------------------------------------
# Regression for issue #3742
+@XFail()
+@Issue(3742)
def status_nested_wc_old_format(sbox):
"status on wc with nested old-format wc"
@@ -1805,8 +1818,7 @@ test_list = [ None,
status_shows_all_in_current_dir,
status_missing_file,
status_type_change,
- SkipUnless(status_type_change_to_symlink,
- svntest.main.is_posix_os),
+ status_type_change_to_symlink,
status_with_new_files_pending,
status_for_unignored_file,
status_for_nonexistent_file,
@@ -1832,7 +1844,7 @@ test_list = [ None,
status_depth_update,
status_dash_u_type_change,
status_with_tree_conflicts,
- XFail(status_nested_wc_old_format, issues=3742),
+ status_nested_wc_old_format,
]
if __name__ == '__main__':
Modified: subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py Sat Feb 5 02:17:32 2011
@@ -36,9 +36,12 @@ from svntest.verify import SVNUnexpected
from svntest.main import SVN_PROP_MERGEINFO
# (abbreviation)
-Skip = svntest.testcase.Skip
-SkipUnless = svntest.testcase.SkipUnless
-XFail = svntest.testcase.XFail
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
@@ -248,8 +251,9 @@ def inconsistent_headers(sbox):
#----------------------------------------------------------------------
# Test for issue #2729: Datestamp-less revisions in dump streams do
# not remain so after load
+@Issue(2729)
def empty_date(sbox):
- "preserve date-less revisions in load (issue #2729)"
+ "preserve date-less revisions in load"
test_create(sbox)
@@ -477,6 +481,7 @@ def fsfs_file(repo_dir, kind, rev):
return os.path.join(repo_dir, 'db', kind, rev)
+@SkipUnless(svntest.main.is_fs_type_fsfs)
def verify_incremental_fsfs(sbox):
"""svnadmin verify detects corruption dump can't"""
@@ -612,6 +617,7 @@ _0.0.t1-1 add false false /A/B/E/bravo
#----------------------------------------------------------------------
+@SkipUnless(svntest.main.is_fs_type_fsfs)
def recover_fsfs(sbox):
"recover a repository (FSFS only)"
sbox.build()
@@ -690,7 +696,7 @@ def recover_fsfs(sbox):
'db/current', expected_current_contents, actual_current_contents)
#----------------------------------------------------------------------
-
+@Issue(2983)
def load_with_parent_dir(sbox):
"'svnadmin load --parent-dir' reparents mergeinfo"
@@ -787,7 +793,7 @@ def set_uuid(sbox):
raise svntest.Failure
#----------------------------------------------------------------------
-
+@Issue(3020)
def reflect_dropped_renumbered_revs(sbox):
"reflect dropped renumbered revs in svn:mergeinfo"
@@ -824,6 +830,8 @@ def reflect_dropped_renumbered_revs(sbox
#----------------------------------------------------------------------
+@SkipUnless(svntest.main.is_fs_type_fsfs)
+@Issue(2992)
def fsfs_recover_handle_missing_revs_or_revprops_file(sbox):
"""fsfs recovery checks missing revs / revprops files"""
# Set up a repository containing the greek tree.
@@ -916,6 +924,7 @@ def create_in_repo_subdir(sbox):
# No SVNRepositoryCreateFailure raised?
raise svntest.Failure
+@SkipUnless(svntest.main.is_fs_type_fsfs)
def verify_with_invalid_revprops(sbox):
"svnadmin verify detects invalid revprops file"
@@ -968,6 +977,7 @@ def verify_with_invalid_revprops(sbox):
# each of them to 'TARGET-REPOS'.
#
# See http://subversion.tigris.org/issues/show_bug.cgi?id=3020#desc13
+@Issue(3020)
def dont_drop_valid_mergeinfo_during_incremental_loads(sbox):
"don't filter mergeinfo revs from incremental dump"
@@ -1168,6 +1178,8 @@ def dont_drop_valid_mergeinfo_during_inc
sbox.repo_url)
+@SkipUnless(svntest.main.is_posix_os)
+@Issue(2591)
def hotcopy_symlink(sbox):
"'svnadmin hotcopy' replicates symlink"
@@ -1306,18 +1318,16 @@ test_list = [ None,
hotcopy_format,
setrevprop,
verify_windows_paths_in_repos,
- SkipUnless(verify_incremental_fsfs, svntest.main.is_fs_type_fsfs),
- SkipUnless(recover_fsfs, svntest.main.is_fs_type_fsfs),
+ verify_incremental_fsfs,
+ recover_fsfs,
load_with_parent_dir,
set_uuid,
reflect_dropped_renumbered_revs,
- SkipUnless(fsfs_recover_handle_missing_revs_or_revprops_file,
- svntest.main.is_fs_type_fsfs),
+ fsfs_recover_handle_missing_revs_or_revprops_file,
create_in_repo_subdir,
- SkipUnless(verify_with_invalid_revprops,
- svntest.main.is_fs_type_fsfs),
+ verify_with_invalid_revprops,
dont_drop_valid_mergeinfo_during_incremental_loads,
- SkipUnless(hotcopy_symlink, svntest.main.is_posix_os),
+ hotcopy_symlink,
load_bad_props,
]
Modified: subversion/trunk/subversion/tests/cmdline/svndumpfilter_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svndumpfilter_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svndumpfilter_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svndumpfilter_tests.py Sat Feb 5 02:17:32 2011
@@ -37,9 +37,12 @@ from svntest.verify import SVNExpectedSt
from svnadmin_tests import load_and_verify_dumpstream, test_create
# (abbreviation)
-Skip = svntest.testcase.Skip
-SkipUnless = svntest.testcase.SkipUnless
-XFail = svntest.testcase.XFail
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
@@ -80,7 +83,7 @@ def filter_and_return_output(dump, bufsi
######################################################################
# Tests
-
+@Issue(2982)
def reflect_dropped_renumbered_revs(sbox):
"reflect dropped renumbered revs in svn:mergeinfo"
@@ -132,6 +135,7 @@ def reflect_dropped_renumbered_revs(sbox
'propget', 'svn:mergeinfo', '-R',
sbox.repo_url)
+@Issue(3181)
def svndumpfilter_loses_mergeinfo(sbox):
"svndumpfilter loses mergeinfo"
#svndumpfilter loses mergeinfo if invoked without --renumber-revs
@@ -214,6 +218,7 @@ def _simple_dumpfilter_test(sbox, dumpfi
expected_status)
+@Issue(2697)
def dumpfilter_with_targets(sbox):
"svndumpfilter --targets blah"
## See http://subversion.tigris.org/issues/show_bug.cgi?id=2697. ##
@@ -257,6 +262,7 @@ def dumpfilter_with_patterns(sbox):
# Specifically, test that svndumpfilter, when used with the
# --skip-missing-merge-sources option, removes mergeinfo that refers to
# revisions that are older than the oldest revision in the dump stream.
+@Issue(3020)
def filter_mergeinfo_revs_outside_of_dump_stream(sbox):
"filter mergeinfo revs outside of dump stream"
@@ -491,6 +497,7 @@ def filter_mergeinfo_revs_outside_of_dum
# --renumber-revs option, can create a dump with non-contiguous revisions.
# Such dumps should not interfere with the correct remapping of mergeinfo
# source revisions.
+@Issue(3020)
def dropped_but_not_renumbered_empty_revs(sbox):
"mergeinfo maps correctly when dropping revs"
Modified: subversion/trunk/subversion/tests/cmdline/svnlook_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnlook_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnlook_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnlook_tests.py Sat Feb 5 02:17:32 2011
@@ -32,8 +32,12 @@ import svntest
# (abbreviation)
-Skip = svntest.testcase.Skip
-XFail = svntest.testcase.XFail
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
@@ -185,6 +189,7 @@ def test_misc(sbox):
#----------------------------------------------------------------------
# Issue 1089
+@Issue(1089)
def delete_file_in_moved_dir(sbox):
"delete file in moved dir"
@@ -239,6 +244,7 @@ def delete_file_in_moved_dir(sbox):
#----------------------------------------------------------------------
# Issue 1241
+@Issue(1241)
def test_print_property_diffs(sbox):
"test the printing of property diffs"
@@ -390,6 +396,7 @@ def changed_copy_info(sbox):
#----------------------------------------------------------------------
# Issue 2663
+@Issue(2663)
def tree_non_recursive(sbox):
"test 'svnlook tree --non-recursive'"
Modified: subversion/trunk/subversion/tests/cmdline/svnrdump_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnrdump_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnrdump_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnrdump_tests.py Sat Feb 5 02:17:32 2011
@@ -36,11 +36,13 @@ from svntest.main import write_restricti
from svntest.main import server_has_partial_replay
# (abbreviation)
-Skip = svntest.testcase.Skip
-SkipUnless = svntest.testcase.SkipUnless
-XFail = svntest.testcase.XFail
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
-Wimp = svntest.testcase.Wimp
## Mismatched headers during dumping operation
# Text-copy-source-* and *-sha1 headers are not provided by the RA
Modified: subversion/trunk/subversion/tests/cmdline/svnsync_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnsync_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnsync_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnsync_tests.py Sat Feb 5 02:17:32 2011
@@ -35,11 +35,13 @@ from svntest.main import write_restricti
from svntest.main import server_has_partial_replay
# (abbreviation)
-Skip = svntest.testcase.Skip
-SkipUnless = svntest.testcase.SkipUnless
-XFail = svntest.testcase.XFail
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
-Wimp = svntest.testcase.Wimp
######################################################################
# Helper routines
@@ -338,7 +340,7 @@ def detect_meddling(sbox):
".*Destination HEAD \\(2\\) is not the last merged revision \\(1\\).*")
#----------------------------------------------------------------------
-
+@Skip(svntest.main.is_ra_type_file)
def basic_authz(sbox):
"verify that unreadable content is not synced"
@@ -374,7 +376,7 @@ def basic_authz(sbox):
lambda_url)
#----------------------------------------------------------------------
-
+@Skip(svntest.main.is_ra_type_file)
def copy_from_unreadable_dir(sbox):
"verify that copies from unreadable dirs work"
@@ -493,6 +495,8 @@ def copy_from_unreadable_dir(sbox):
dest_sbox.repo_url + '/A/P')
# Issue 2705.
+@Issue(2705)
+@Skip(svntest.main.is_ra_type_file)
def copy_with_mod_from_unreadable_dir(sbox):
"verify copies with mods from unreadable dirs"
@@ -611,6 +615,8 @@ def copy_with_mod_from_unreadable_dir(sb
dest_sbox.repo_url + '/A/P/lambda')
# Issue 2705.
+@Issue(2705)
+@Skip(svntest.main.is_ra_type_file)
def copy_with_mod_from_unreadable_dir_and_copy(sbox):
"verify copies with mods from unreadable dirs +copy"
@@ -721,17 +727,20 @@ def copy_revprops(sbox):
"test copying revprops other than svn:*"
run_test(sbox, "revprops.dump")
+@SkipUnless(server_has_partial_replay)
def only_trunk(sbox):
"test syncing subdirectories"
run_test(sbox, "svnsync-trunk-only.dump", "/trunk",
"svnsync-trunk-only.expected.dump")
+@SkipUnless(server_has_partial_replay)
def only_trunk_A_with_changes(sbox):
"test syncing subdirectories with changes on root"
run_test(sbox, "svnsync-trunk-A-changes.dump", "/trunk/A",
"svnsync-trunk-A-changes.expected.dump")
# test for issue #2904
+@Issue(2904)
def move_and_modify_in_the_same_revision(sbox):
"test move parent and modify child file in same rev"
run_test(sbox, "svnsync-move-and-modify.dump")
@@ -791,6 +800,7 @@ def delete_svn_props(sbox):
"copy with svn:prop deletions"
run_test(sbox, "delete-svn-props.dump")
+@Issue(3438)
def commit_a_copy_of_root(sbox):
"commit a copy of root causes sync to fail"
#Testcase for issue 3438.
@@ -832,12 +842,14 @@ def commit_a_copy_of_root(sbox):
# svnmucc.exe -mm cp head %ROOT_URL%/trunk/A %ROOT_URL%/trunk/H/Z
# rm %ROOT_URL%/trunk/H/Z/B
# mkdir %ROOT_URL%/trunk/H/Z/B
+@Issue(3641)
def descend_into_replace(sbox):
"descending into replaced dir looks in src"
run_test(sbox, "descend-into-replace.dump", subdir='/trunk/H',
exp_dump_file_name = "descend-into-replace.expected.dump")
# issue #3728
+@Issue(3728)
def delete_revprops(sbox):
"copy-revprops with removals"
svnsync_tests_dir = os.path.join(os.path.dirname(sys.argv[0]),
@@ -887,19 +899,15 @@ test_list = [ None,
file_dir_file,
copy_parent_modify_prop,
detect_meddling,
- Skip(basic_authz, svntest.main.is_ra_type_file),
- Skip(copy_from_unreadable_dir, svntest.main.is_ra_type_file),
- Skip(copy_with_mod_from_unreadable_dir,
- svntest.main.is_ra_type_file),
- Skip(copy_with_mod_from_unreadable_dir_and_copy,
- svntest.main.is_ra_type_file),
+ basic_authz,
+ copy_from_unreadable_dir,
+ copy_with_mod_from_unreadable_dir,
+ copy_with_mod_from_unreadable_dir_and_copy,
url_encoding,
no_author,
copy_revprops,
- SkipUnless(only_trunk,
- server_has_partial_replay),
- SkipUnless(only_trunk_A_with_changes,
- server_has_partial_replay),
+ only_trunk,
+ only_trunk_A_with_changes,
move_and_modify_in_the_same_revision,
info_synchronized,
info_not_synchronized,
Modified: subversion/trunk/subversion/tests/cmdline/svntest/testcase.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/testcase.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/testcase.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/testcase.py Sat Feb 5 02:17:32 2011
@@ -28,7 +28,7 @@ import os, types, sys
import svntest
# if somebody does a "from testcase import *", they only get these names
-__all__ = ['XFail', 'Wimp', 'Skip', 'SkipUnless']
+__all__ = ['_XFail', '_Wimp', '_Skip', '_SkipUnless']
RESULT_OK = 'ok'
RESULT_FAIL = 'fail'
@@ -182,7 +182,7 @@ class FunctionTestCase(TestCase):
return self.func(sandbox)
-class XFail(TestCase):
+class _XFail(TestCase):
"""A test that is expected to fail, if its condition is true."""
_result_map = {
@@ -214,7 +214,7 @@ class XFail(TestCase):
return self._delegate.list_mode() or 'XFAIL'
-class Wimp(XFail):
+class _Wimp(_XFail):
"""Like XFail, but indicates a work-in-progress: an unexpected pass
is not considered a test failure."""
@@ -225,13 +225,13 @@ class Wimp(XFail):
}
def __init__(self, wip, test_case, cond_func=lambda: True):
- XFail.__init__(self, test_case, cond_func, wip)
+ _XFail.__init__(self, test_case, cond_func, wip)
-class Skip(TestCase):
+class _Skip(TestCase):
"""A test that will be skipped if its conditional is true."""
- def __init__(self, test_case, cond_func=lambda: True):
+ def __init__(self, test_case, cond_func=lambda: True, issues=None):
"""Create a Skip instance based on TEST_CASE. COND_FUNC is a
callable that is evaluated at test run time and should return a
boolean value. If COND_FUNC returns true, then TEST_CASE is
@@ -241,7 +241,8 @@ class Skip(TestCase):
__init__ time (like the fact that we're running over a
particular RA layer)."""
- TestCase.__init__(self, create_test_case(test_case), cond_func)
+ TestCase.__init__(self, create_test_case(test_case), cond_func,
+ issues=issues)
def list_mode(self):
if self._cond_func():
@@ -259,11 +260,11 @@ class Skip(TestCase):
return self._delegate.run(sandbox)
-class SkipUnless(Skip):
+class _SkipUnless(_Skip):
"""A test that will be skipped if its conditional is false."""
def __init__(self, test_case, cond_func):
- Skip.__init__(self, test_case, lambda c=cond_func: not c())
+ _Skip.__init__(self, test_case, lambda c=cond_func: not c())
def create_test_case(func, issues=None):
@@ -274,30 +275,39 @@ def create_test_case(func, issues=None):
# Various decorators to make declaring tests as such simpler
-def XFail_deco(func):
- if isinstance(func, TestCase):
- return XFail(func, issues=func.issues)
- else:
- return XFail(func)
+def XFail_deco(cond_func = lambda: True):
+ def _second(func):
+ if isinstance(func, TestCase):
+ return _XFail(func, cond_func, issues=func.issues)
+ else:
+ return _XFail(func, cond_func)
+
+ return _second
def Wimp_deco(func):
if isinstance(func, TestCase):
- return Wimp(func, issues=func.issues)
+ return _Wimp(func, issues=func.issues)
else:
- return Wimp(func)
+ return _Wimp(func)
-def Skip_deco(cond_func):
+def Skip_deco(cond_func = lambda: True):
def _second(func):
- return Skip(func, cond_func)
+ if isinstance(func, TestCase):
+ return _Skip(func, cond_func, issues=func.issues)
+ else:
+ return _Skip(func, cond_func)
return _second
def SkipUnless_deco(cond_func):
def _second(func):
- return Skip(func, lambda c=cond_func: not c())
+ if isinstance(func, TestCase):
+ return _Skip(func, lambda c=cond_func: not c(), issues=func.issues)
+ else:
+ return _Skip(func, lambda c=cond_func: not c())
return _second
Modified: subversion/trunk/subversion/tests/cmdline/svnversion_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnversion_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnversion_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnversion_tests.py Sat Feb 5 02:17:32 2011
@@ -33,8 +33,12 @@ import svntest
from svntest import wc
# (abbreviation)
-Skip = svntest.testcase.Skip
-XFail = svntest.testcase.XFail
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
#----------------------------------------------------------------------
@@ -207,6 +211,7 @@ def ignore_externals(sbox):
#----------------------------------------------------------------------
# Test for issue #3461 'excluded subtrees are not detected by svnversion'
+@Issue(3461)
def svnversion_with_excluded_subtrees(sbox):
"test 'svnversion' with excluded subtrees"
sbox.build()
Modified: subversion/trunk/subversion/tests/cmdline/switch_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/switch_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/switch_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/switch_tests.py Sat Feb 5 02:17:32 2011
@@ -32,10 +32,12 @@ import svntest
from svntest import verify, actions, main
# (abbreviation)
-Skip = svntest.testcase.Skip
-SkipUnless = svntest.testcase.SkipUnless
-XFail = svntest.testcase.XFail
-Wimp = svntest.testcase.Wimp
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
from svntest.main import SVN_PROP_MERGEINFO, server_has_mergeinfo
@@ -673,7 +675,8 @@ def delete_subdir(sbox):
#----------------------------------------------------------------------
# Issue 1532: Switch a file to a dir: can't switch it back to the file
-
+@XFail()
+@Issue(1532)
def file_dir_file(sbox):
"switch a file to a dir and back to the file"
sbox.build(read_only = True)
@@ -908,7 +911,7 @@ def bad_intermediate_urls(sbox):
#----------------------------------------------------------------------
# Regression test for issue #1825: failed switch may corrupt
# working copy
-
+@Issue(1825)
def obstructed_switch(sbox):
"obstructed switch"
#svntest.factory.make(sbox, """svn cp -m msgcopy url/A/B/E url/A/B/Esave
@@ -1048,6 +1051,7 @@ def commit_mods_below_switch(sbox):
expected_output, expected_status,
None, C_path, D_path)
+@Issue(2380)
def relocate_beyond_repos_root(sbox):
"relocate with prefixes longer than repo root"
sbox.build(read_only=True, create_wc=False)
@@ -1701,7 +1705,7 @@ def switch_scheduled_add(sbox):
'switch', switch_url, file_path)
#----------------------------------------------------------------------
-
+@SkipUnless(server_has_mergeinfo)
def mergeinfo_switch_elision(sbox):
"mergeinfo does not elide post switch"
@@ -2570,6 +2574,7 @@ def tree_conflicts_on_switch_1_1(sbox):
expected_info = expected_info) ] )
+@Issue(3334)
def tree_conflicts_on_switch_1_2(sbox):
"tree conflicts 1.2: tree del, leaf del on switch"
@@ -2668,6 +2673,7 @@ def tree_conflicts_on_switch_1_2(sbox):
expected_info = expected_info) ] )
+@Issue(3334)
def tree_conflicts_on_switch_2_1(sbox):
"tree conflicts 2.1: leaf edit, tree del on switch"
@@ -3024,6 +3030,7 @@ def relocate_with_switched_children(sbox
expected_info = { 'URL' : pattern }
svntest.actions.run_and_verify_info([expected_info], path)
+@XFail()
def copy_with_switched_subdir(sbox):
"copy directory with switched subdir"
sbox.build()
@@ -3102,6 +3109,7 @@ def copy_with_switched_subdir(sbox):
svntest.actions.run_and_verify_status(wc_dir, state)
### regression test for issue #3597
+@Issue(3597)
def relocate_with_relative_externals(sbox):
"relocate a directory containing relative externals"
@@ -3146,7 +3154,7 @@ test_list = [ None,
log_switched_file,
relocate_deleted_missing_copied,
delete_subdir,
- XFail(file_dir_file, issues=1532),
+ file_dir_file,
nonrecursive_switching,
failed_anchor_is_target,
bad_intermediate_urls,
@@ -3159,7 +3167,7 @@ test_list = [ None,
forced_switch,
forced_switch_failures,
switch_scheduled_add,
- SkipUnless(mergeinfo_switch_elision, server_has_mergeinfo),
+ mergeinfo_switch_elision,
switch_with_obstructing_local_adds,
switch_with_depth,
switch_to_dir_with_peg_rev,
@@ -3174,7 +3182,7 @@ test_list = [ None,
tree_conflicts_on_switch_3,
single_file_relocate,
relocate_with_switched_children,
- XFail(copy_with_switched_subdir),
+ copy_with_switched_subdir,
relocate_with_relative_externals,
]
Modified: subversion/trunk/subversion/tests/cmdline/trans_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/trans_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/trans_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/trans_tests.py Sat Feb 5 02:17:32 2011
@@ -32,8 +32,12 @@ import svntest
from svntest import wc
# (abbreviation)
-Skip = svntest.testcase.Skip
-XFail = svntest.testcase.XFail
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
@@ -446,6 +450,7 @@ def keywords_from_birth(sbox):
def do_nothing(x, y):
return 0
+@Issue(631)
def update_modified_with_translation(sbox):
"update modified file with eol-style 'native'"
@@ -534,7 +539,7 @@ def update_modified_with_translation(sbo
# contents are transmitted to the server during commit, and b) that
# after the commit, the file and its text-base have been changed to
# have the new line-ending style.
-
+@Issue(1085)
def eol_change_is_text_mod(sbox):
"committing eol-style change forces text send"
@@ -588,7 +593,7 @@ def eol_change_is_text_mod(sbox):
#----------------------------------------------------------------------
# Regression test for issue #1151. A single file in a directory
# didn't get keywords expanded on checkout.
-
+@Issue(1151)
def keyword_expanded_on_checkout(sbox):
"keyword expansion for lone file in directory"
Modified: subversion/trunk/subversion/tests/cmdline/tree_conflict_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/tree_conflict_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/tree_conflict_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/tree_conflict_tests.py Sat Feb 5 02:17:32 2011
@@ -38,9 +38,12 @@ from svntest.actions import run_and_veri
from svntest.actions import get_virginal_state
# (abbreviation)
-Skip = svntest.testcase.Skip
-SkipUnless = svntest.testcase.SkipUnless
-XFail = svntest.testcase.XFail
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
AnyOutput = svntest.verify.AnyOutput
@@ -637,6 +640,8 @@ def up_sw_dir_del_onto_del(sbox):
# Adding branch1\dC\D
#
# Committed revision 4.
+@XFail(svntest.main.is_ra_type_dav)
+@Issue(3314)
def up_sw_dir_add_onto_add(sbox):
"up/sw dir: add onto add"
# WC state: as scheduled (no obstruction)
@@ -686,6 +691,8 @@ def merge_dir_mod_onto_not_dir(sbox):
test_tc_merge(sbox2, d_mods, wc_scen = d_dels)
# Test for issue #3150 'tree conflicts with directories as victims'.
+@XFail()
+@Issue(3150)
def merge_dir_del_onto_not_same(sbox):
"merge dir: del/rpl/mv onto not-same"
sbox2 = sbox.clone_dependent()
@@ -706,6 +713,7 @@ def merge_dir_add_onto_not_none(sbox):
#----------------------------------------------------------------------
+@XFail()
def force_del_tc_inside(sbox):
"--force del on dir with TCs inside"
### This test is currently marked XFail because we don't remove tree
@@ -798,6 +806,7 @@ def force_del_tc_inside(sbox):
#----------------------------------------------------------------------
+@XFail()
def force_del_tc_is_target(sbox):
"--force del on tree-conflicted targets"
# A/C
@@ -966,6 +975,8 @@ def query_absent_tree_conflicted_dir(sbo
#----------------------------------------------------------------------
+@XFail()
+@Issue(3608)
def up_add_onto_add_revert(sbox):
"issue #3608: reverting an add onto add conflict"
@@ -1028,6 +1039,8 @@ def up_add_onto_add_revert(sbox):
#----------------------------------------------------------------------
# Regression test for issue #3525 and #3533
#
+@XFail()
+@Issues([3525,3533])
def lock_update_only(sbox):
"lock status update shouldn't flag tree conflict"
@@ -1075,21 +1088,20 @@ test_list = [ None,
up_sw_dir_mod_onto_del,
up_sw_dir_del_onto_mod,
up_sw_dir_del_onto_del,
- XFail(up_sw_dir_add_onto_add,
- svntest.main.is_ra_type_dav, issues=3314),
+ up_sw_dir_add_onto_add,
merge_file_mod_onto_not_file,
merge_file_del_onto_not_same,
merge_file_del_onto_not_file,
merge_file_add_onto_not_none,
merge_dir_mod_onto_not_dir,
- XFail(merge_dir_del_onto_not_same, issues=3150),
+ merge_dir_del_onto_not_same,
merge_dir_del_onto_not_dir,
merge_dir_add_onto_not_none,
- XFail(force_del_tc_inside),
- XFail(force_del_tc_is_target),
+ force_del_tc_inside,
+ force_del_tc_is_target,
query_absent_tree_conflicted_dir,
- XFail(up_add_onto_add_revert, issues=3608),
- XFail(lock_update_only,issues=[3525,3533]),
+ up_add_onto_add_revert,
+ lock_update_only,
]
if __name__ == '__main__':
Modified: subversion/trunk/subversion/tests/cmdline/update_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/update_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/update_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/update_tests.py Sat Feb 5 02:17:32 2011
@@ -35,10 +35,12 @@ from merge_tests import expected_merge_o
from merge_tests import set_up_branch
# (abbreviation)
-Skip = svntest.testcase.Skip
-SkipUnless = svntest.testcase.SkipUnless
-XFail = svntest.testcase.XFail
-Wimp = svntest.testcase.Wimp
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
Item = svntest.wc.StateItem
exp_noop_up_out = svntest.actions.expected_noop_update_output
@@ -3115,6 +3117,7 @@ def update_conflicted(sbox):
None, None, 1)
#----------------------------------------------------------------------
+@SkipUnless(server_has_mergeinfo)
def mergeinfo_update_elision(sbox):
"mergeinfo does not elide after update"
@@ -4564,6 +4567,8 @@ def tree_conflicts_on_update_2_2(sbox):
# conflicts'
#
# Marked as XFail until issue #3329 is resolved.
+@Issue(3329)
+@XFail()
def tree_conflicts_on_update_2_3(sbox):
"tree conflicts 2.3: skip on 2nd update"
@@ -4846,6 +4851,8 @@ def tree_conflict_uc1_update_deleted_tre
# Issue #3334: a delete-onto-modified tree conflict should leave the node
# scheduled for re-addition.
+@Issue(3334)
+@XFail()
def tree_conflict_uc2_schedule_re_add(sbox):
"tree conflicts on update UC2, schedule re-add"
sbox.build()
@@ -5100,6 +5107,8 @@ def update_wc_of_dir_to_rev_not_containi
# tree conflict'
#
# Marked as XFail until that issue is fixed.
+@Issue(3525)
+@XFail()
def update_deleted_locked_files(sbox):
"verify update of deleted locked files"
@@ -5145,6 +5154,8 @@ def update_deleted_locked_files(sbox):
# XFail until issue #3569 is fixed. This test needs extension to map some
# real use cases (all add operations are missing if a directory is updated
# without its children.)
+@XFail()
+@Issue(3569)
def update_empty_hides_entries(sbox):
"svn up --depth empty hides entries for next update"
sbox.build()
@@ -5306,6 +5317,8 @@ def update_with_excluded_subdir(sbox):
# Test for issue #3471 'svn up touches file w/ lock & svn:keywords property'
#
# Marked as XFail until the issue is fixed.
+@XFail()
+@Issue(3471)
def update_with_file_lock_and_keywords_property_set(sbox):
"""update with file lock & keywords property set"""
sbox.build()
@@ -5333,6 +5346,7 @@ def update_with_file_lock_and_keywords_p
# Updating a nonexistent or deleted path should be a successful no-op,
# when there is no incoming change. In trunk@1035343, such an update
# within a copied directory triggered an assertion failure.
+@XFail()
def update_nonexistent_child_of_copy(sbox):
"""update a nonexistent child of a copied dir"""
sbox.build()
@@ -5388,8 +5402,7 @@ test_list = [ None,
update_wc_with_replaced_file,
update_with_obstructing_additions,
update_conflicted,
- SkipUnless(mergeinfo_update_elision,
- server_has_mergeinfo),
+ mergeinfo_update_elision,
update_copied_from_replaced_and_changed,
update_copied_and_deleted_prop,
update_accept_conflicts,
@@ -5400,19 +5413,18 @@ test_list = [ None,
tree_conflicts_on_update_1_2,
tree_conflicts_on_update_2_1,
tree_conflicts_on_update_2_2,
- XFail(tree_conflicts_on_update_2_3, issues=3329),
+ tree_conflicts_on_update_2_3,
tree_conflicts_on_update_3,
tree_conflict_uc1_update_deleted_tree,
- XFail(tree_conflict_uc2_schedule_re_add, issues=3334),
+ tree_conflict_uc2_schedule_re_add,
set_deep_depth_on_target_with_shallow_children,
update_wc_of_dir_to_rev_not_containing_this_dir,
- XFail(update_deleted_locked_files, issues=3525),
- XFail(update_empty_hides_entries, issues=3569),
+ update_deleted_locked_files,
+ update_empty_hides_entries,
mergeinfo_updates_merge_with_local_mods,
update_with_excluded_subdir,
- XFail(update_with_file_lock_and_keywords_property_set,
- issues=3471),
- XFail(update_nonexistent_child_of_copy),
+ update_with_file_lock_and_keywords_property_set,
+ update_nonexistent_child_of_copy,
]
if __name__ == '__main__':
Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Sat Feb 5 02:17:32 2011
@@ -40,8 +40,12 @@ import svntest
from svntest import wc
Item = svntest.wc.StateItem
-XFail = svntest.testcase.XFail
-SkipUnless = svntest.testcase.SkipUnless
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
wc_is_too_old_regex = (".*Working copy '.*' is too old \(format \d+.*\).*")
@@ -550,6 +554,7 @@ def do_x3_upgrade(sbox):
'A/B/E/alpha' : {'svn:eol-style': 'native'}
})
+@XFail()
def x3_1_4_0(sbox):
"3x same wc upgrade 1.4.0 test"
@@ -640,6 +645,7 @@ def missing_dirs2(sbox):
expected_status.tweak('A/D', 'A/B_new/F', status='! ')
run_and_verify_status_no_server(sbox.wc_dir, expected_status)
+@XFail()
def delete_and_keep_local(sbox):
"check status delete and delete --keep-local"
@@ -855,12 +861,12 @@ test_list = [ None,
basic_upgrade_1_0,
# Upgrading from 1.4.0-1.4.5 with specific states fails
# See issue #2530
- XFail(x3_1_4_0),
+ x3_1_4_0,
x3_1_4_6,
x3_1_6_12,
missing_dirs,
missing_dirs2,
- XFail(delete_and_keep_local),
+ delete_and_keep_local,
dirs_only_upgrade,
upgrade_tree_conflict_data,
delete_in_copy_upgrade,
Modified: subversion/trunk/subversion/tests/cmdline/utf8_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/utf8_tests.py?rev=1067380&r1=1067379&r2=1067380&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/utf8_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/utf8_tests.py Sat Feb 5 02:17:32 2011
@@ -34,7 +34,12 @@ from svntest import wc
# (abbreviation)
Item = wc.StateItem
-Skip = svntest.testcase.Skip
+Skip = svntest.testcase.Skip_deco
+SkipUnless = svntest.testcase.SkipUnless_deco
+XFail = svntest.testcase.XFail_deco
+Issues = svntest.testcase.Issues_deco
+Issue = svntest.testcase.Issue_deco
+Wimp = svntest.testcase.Wimp_deco
#--------------------------------------------------------------------
# Data
@@ -55,7 +60,7 @@ i18n_logmsg = 'drie\xc3\xabntwintig keer
#
# Each test must return on success or raise on failure.
-
+@Skip()
def basic_utf8_conversion(sbox):
"conversion of paths and logs to/from utf8"
@@ -154,7 +159,7 @@ if localematch:
# list all tests here, starting with None:
test_list = [ None,
- Skip(basic_utf8_conversion),
+ basic_utf8_conversion,
]
if __name__ == '__main__':