From 450bc3b39b31cc6762cd8feedb1c921e1289b4fc Mon Sep 17 00:00:00 2001 From: maxb Date: Sat, 13 Mar 2004 00:13:45 +0000 Subject: [PATCH] New testcase, for bug discovered thanks to reproduction data from Vladimir Prus. * test-data/compose-tag-three-sources-cvsrepos: New test data. * run-tests.py (compose_tag_three_sources): New test (XFail). git-svn-id: http://cvs2svn.tigris.org/svn/cvs2svn/trunk@821 be7e6eca-30d4-0310-a8e5-ac0d63af7087 --- run-tests.py | 25 +++++++++ .../CVSROOT/README | 16 ++++++ test-data/compose-tag-three-sources-cvsrepos/a,v | 60 ++++++++++++++++++++++ test-data/compose-tag-three-sources-cvsrepos/b,v | 60 ++++++++++++++++++++++ test-data/compose-tag-three-sources-cvsrepos/c,v | 60 ++++++++++++++++++++++ 5 files changed, 221 insertions(+) create mode 100644 test-data/compose-tag-three-sources-cvsrepos/CVSROOT/README create mode 100644 test-data/compose-tag-three-sources-cvsrepos/a,v create mode 100644 test-data/compose-tag-three-sources-cvsrepos/b,v create mode 100644 test-data/compose-tag-three-sources-cvsrepos/c,v diff --git a/run-tests.py b/run-tests.py index 70c011c4..7e57a528 100755 --- a/run-tests.py +++ b/run-tests.py @@ -1242,6 +1242,30 @@ def default_branches(): raise svntest.Failure +def compose_tag_three_sources(): + "compose a tag from three sources" + repos, wc, logs = ensure_conversion('compose-tag-three-sources') + + if not logs[1].changed_paths == { '/trunk': 'A', '/trunk/a': 'A', + '/trunk/b': 'A', '/trunk/c': 'A' }: raise svntest.Failure + + if not logs[2].changed_paths == { '/branches': 'A', + '/branches/b1 (from /trunk:1)': 'A', '/branches/b1/a': 'M', + '/branches/b1/b': 'M', '/branches/b1/c': 'M', + }: raise svntest.Failure + + if not logs[3].changed_paths == { + '/branches/b2 (from /trunk:1)': 'A', '/branches/b2/a': 'M', + '/branches/b2/b': 'M', '/branches/b2/c': 'M', + }: raise svntest.Failure + + if not logs[4].changed_paths == { '/tags': 'A', + '/tags/T (from /trunk:1)': 'A', + '/tags/T/b (from /branches/b1/b:2)': 'R', + '/tags/T/c (from /branches/b2/c:3)': 'R', + }: raise svntest.Failure + + #---------------------------------------------------------------------- ######################################################################## @@ -1279,6 +1303,7 @@ test_list = [ None, nonascii_filenames, vendor_branch_sameness, default_branches, + XFail(compose_tag_three_sources), ] if __name__ == '__main__': diff --git a/test-data/compose-tag-three-sources-cvsrepos/CVSROOT/README b/test-data/compose-tag-three-sources-cvsrepos/CVSROOT/README new file mode 100644 index 00000000..3a0b44c7 --- /dev/null +++ b/test-data/compose-tag-three-sources-cvsrepos/CVSROOT/README @@ -0,0 +1,16 @@ +This CVSROOT/ directory is only here to convince CVS that this is a +real repository. Without it, CVS operations fail with an error like: + + cvs [checkout aborted]: .../main-cvsrepos/CVSROOT: No such file or directory + +Of course, CVS doesn't seem to require that there actually be any +files in CVSROOT/, which kind of makes one wonder why it cares about +the directory at all. +This CVSROOT/ directory is only here to convince CVS that this is a +real repository. Without it, CVS operations fail with an error like: + + cvs [checkout aborted]: .../main-cvsrepos/CVSROOT: No such file or directory + +Of course, CVS doesn't seem to require that there actually be any +files in CVSROOT/, which kind of makes one wonder why it cares about +the directory at all. diff --git a/test-data/compose-tag-three-sources-cvsrepos/a,v b/test-data/compose-tag-three-sources-cvsrepos/a,v new file mode 100644 index 00000000..3898d858 --- /dev/null +++ b/test-data/compose-tag-three-sources-cvsrepos/a,v @@ -0,0 +1,60 @@ +head 1.1; +access; +symbols + T:1.1 + b2:1.1.0.4 + b1:1.1.0.2; +locks; strict; +comment @# @; + + +1.1 +date 2004.03.11.01.46.11; author max; state Exp; +branches + 1.1.2.1 + 1.1.4.1; +next ; + +1.1.2.1 +date 2004.03.11.01.49.00; author max; state Exp; +branches; +next ; + +1.1.4.1 +date 2004.03.11.01.49.16; author max; state Exp; +branches; +next ; + + +desc +@@ + + +1.1 +log +@Add on trunk +@ +text +@@ + + +1.1.4.1 +log +@Commit on branch b2 +@ +text +@a0 1 +b2 +@ + + +1.1.2.1 +log +@Commit on branch b1 +@ +text +@a0 1 +b1 +@ + + diff --git a/test-data/compose-tag-three-sources-cvsrepos/b,v b/test-data/compose-tag-three-sources-cvsrepos/b,v new file mode 100644 index 00000000..604b015a --- /dev/null +++ b/test-data/compose-tag-three-sources-cvsrepos/b,v @@ -0,0 +1,60 @@ +head 1.1; +access; +symbols + T:1.1.2.1 + b2:1.1.0.4 + b1:1.1.0.2; +locks; strict; +comment @# @; + + +1.1 +date 2004.03.11.01.46.11; author max; state Exp; +branches + 1.1.2.1 + 1.1.4.1; +next ; + +1.1.2.1 +date 2004.03.11.01.49.00; author max; state Exp; +branches; +next ; + +1.1.4.1 +date 2004.03.11.01.49.16; author max; state Exp; +branches; +next ; + + +desc +@@ + + +1.1 +log +@Add on trunk +@ +text +@@ + + +1.1.4.1 +log +@Commit on branch b2 +@ +text +@a0 1 +b2 +@ + + +1.1.2.1 +log +@Commit on branch b1 +@ +text +@a0 1 +b1 +@ + + diff --git a/test-data/compose-tag-three-sources-cvsrepos/c,v b/test-data/compose-tag-three-sources-cvsrepos/c,v new file mode 100644 index 00000000..4d91effa --- /dev/null +++ b/test-data/compose-tag-three-sources-cvsrepos/c,v @@ -0,0 +1,60 @@ +head 1.1; +access; +symbols + T:1.1.4.1 + b2:1.1.0.4 + b1:1.1.0.2; +locks; strict; +comment @# @; + + +1.1 +date 2004.03.11.01.46.11; author max; state Exp; +branches + 1.1.2.1 + 1.1.4.1; +next ; + +1.1.2.1 +date 2004.03.11.01.49.00; author max; state Exp; +branches; +next ; + +1.1.4.1 +date 2004.03.11.01.49.16; author max; state Exp; +branches; +next ; + + +desc +@@ + + +1.1 +log +@Add on trunk +@ +text +@@ + + +1.1.4.1 +log +@Commit on branch b2 +@ +text +@a0 1 +b2 +@ + + +1.1.2.1 +log +@Commit on branch b1 +@ +text +@a0 1 +b1 +@ + + -- 2.11.4.GIT