source: tailor/vcpx/tests/tailor.py @ 627

Revision 627, 4.5 KB checked in by Johan Rydberg <jrydberg@…>, 8 years ago (diff)

An alternative backend for BazaarNG using bzrlib instead of the frontend

Line 
1# -*- mode: python; coding: utf-8 -*-
2# :Progetto: vcpx -- Operational tests
3# :Creato:   lun 08 ago 2005 22:17:10 CEST
4# :Autore:   Lele Gaifax <lele@nautilus.homeip.net>
5# :Licenza:  GNU General Public License
6#
7
8"""
9[DEFAULT]
10dont-refill-changelogs = True
11target-module = None
12source-repository = ~/WiP/cvsync
13encoding = None
14target-repository = None
15use-svn-propset = False
16source-module = None
17update = True
18subdir = .
19debug = True
20remove-first-log-line = False
21patch-name-format = None
22verbose = True
23state-file = tailor.state
24start-revision = Almost arbitrarily tagging this as version 0.8
25
26[darcs2bzr]
27target = bzr:tailor
28root-directory = /tmp/tailor-tests/darcs2bzr
29source = darcs:tailor
30
31[darcs2bzrng]
32target = bzrng:tailor
33root-directory = /tmp/tailor-tests/darcs2bzrng
34source = darcs:tailor
35
36[darcs2cdv]
37target = cdv:tailor
38root-directory = /tmp/tailor-tests/darcs2cdv
39source = darcs:tailor
40
41[darcs2hg]
42target = hg:tailor
43root-directory = /tmp/tailor-tests/darcs2hg
44source = darcs:tailor
45
46[darcs2svn]
47target = svn:tailor
48root-directory = /tmp/tailor-tests/darcs2svn
49source = darcs:svntailor
50start-revision = INITIAL
51
52[svn2darcs]
53target = darcs:svntailor
54root-directory = /tmp/tailor-tests/svn2darcs
55source = svn:tailor
56start-revision = 1
57
58[darcs:tailor]
59repository = ~/WiP/cvsync
60
61[bzr:tailor]
62bzr-command = /opt/src/bzr.dev/bzr
63
64[bzrng:tailor]
65python-path = /opt/src/bzr.dev
66
67[cdv:tailor]
68
69[hg:tailor]
70
71[svn:tailor]
72repository = file:///tmp/tailor-tests/svnrepo
73module = tailor
74subdir = svnside
75
76[darcs:svntailor]
77subdir = darcside
78
79[cvs2darcs]
80target = darcs:pxlib
81root-directory = /tmp/tailor-tests/cvs2darcs
82source = cvs:pxlib
83start-revision = INITIAL
84subdir = pxlib
85
86[darcs:pxlib]
87
88[cvs:pxlib]
89repository = :pserver:anonymous@cvs.sf.net:/cvsroot/pxlib
90module = pxlib
91"""
92
93from unittest import TestCase, TestSuite
94from cStringIO import StringIO
95from vcpx.config import Config
96from vcpx.tailor import Tailorizer
97
98class TailorTest(TestCase):
99
100    def setUp(self):
101        from os import mkdir
102        from os.path import exists
103        from atexit import register
104        from shutil import rmtree
105
106        self.config = Config(StringIO(__doc__), {})
107        if not exists('/tmp/tailor-tests'):
108            mkdir('/tmp/tailor-tests')
109            register(rmtree, '/tmp/tailor-tests')
110
111    def testConfiguration(self):
112        "Test basic configuration"
113
114        from os.path import expanduser
115
116        p = Tailorizer('darcs2svn', self.config)
117        self.assertEqual(p.source.subdir, 'darcside')
118        self.assertEqual(p.rootdir, '/tmp/tailor-tests/darcs2svn')
119        self.assertEqual(p.source.repository, expanduser('~/WiP/cvsync'))
120        self.assertEqual(p.target.repository,
121                         'file:///tmp/tailor-tests/svnrepo')
122        self.assertEqual(p.state_file.filename,
123                         '/tmp/tailor-tests/darcs2svn/tailor.state')
124
125        tailorizer = Tailorizer('cvs2darcs', self.config)
126        self.assertEqual(tailorizer.subdir, 'pxlib')
127        self.assertEqual(tailorizer.source.subdir, 'pxlib')
128
129    def testDarcsToBazaarng(self):
130        "Test darcs to BazaarNG"
131
132        tailorizer = Tailorizer('darcs2bzr', self.config)
133        tailorizer()
134        self.assert_(tailorizer.exists())
135        tailorizer()
136
137    def testDarcsToBazaarngNative(self):
138        "Test darcs to BazaarNG (native)"
139
140        tailorizer = Tailorizer('darcs2bzrng', self.config)
141        tailorizer()
142        self.assert_(tailorizer.exists())
143        tailorizer()
144
145    def testDarcsToMercurial(self):
146        "Test darcs to mercurial"
147
148        tailorizer = Tailorizer('darcs2hg', self.config)
149        tailorizer()
150        self.assert_(tailorizer.exists())
151        tailorizer()
152
153    def testDarcsToCodeville(self):
154        "Test darcs to codeville"
155
156        tailorizer = Tailorizer('darcs2cdv', self.config)
157        tailorizer()
158        self.assert_(tailorizer.exists())
159        tailorizer()
160
161    def testDarcsToSubversion(self):
162        "Test darcs to subversion"
163
164        tailorizer = Tailorizer('darcs2svn', self.config)
165        tailorizer()
166        self.assert_(tailorizer.exists())
167        tailorizer()
168
169    ## The other way
170
171    def testSubversionToDarcs(self):
172        "Test subversion to darcs"
173
174        tailorizer = Tailorizer('svn2darcs', self.config)
175        tailorizer()
176        self.assert_(tailorizer.exists())
177        tailorizer()
178
179    def testCvsToDarcs(self):
180        "Test CVS to darcs"
181
182        tailorizer = Tailorizer('cvs2darcs', self.config)
183        tailorizer()
184        self.assert_(tailorizer.exists())
185        tailorizer()
Note: See TracBrowser for help on using the repository browser.