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

RevLine 
[524]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]
[587]10dont-refill-changelogs = True
[524]11target-module = None
[588]12source-repository = ~/WiP/cvsync
[524]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
[537]26[darcs2bzr]
27target = bzr:tailor
28root-directory = /tmp/tailor-tests/darcs2bzr
29source = darcs:tailor
30
[627]31[darcs2bzrng]
32target = bzrng:tailor
33root-directory = /tmp/tailor-tests/darcs2bzrng
34source = darcs:tailor
35
[537]36[darcs2cdv]
37target = cdv:tailor
38root-directory = /tmp/tailor-tests/darcs2cdv
39source = darcs:tailor
40
[524]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
[610]49source = darcs:svntailor
[587]50start-revision = INITIAL
[524]51
[544]52[svn2darcs]
53target = darcs:svntailor
54root-directory = /tmp/tailor-tests/svn2darcs
55source = svn:tailor
56start-revision = 1
57
[524]58[darcs:tailor]
59repository = ~/WiP/cvsync
60
[537]61[bzr:tailor]
62bzr-command = /opt/src/bzr.dev/bzr
63
[627]64[bzrng:tailor]
65python-path = /opt/src/bzr.dev
66
[537]67[cdv:tailor]
68
[524]69[hg:tailor]
70
71[svn:tailor]
72repository = file:///tmp/tailor-tests/svnrepo
73module = tailor
[610]74subdir = svnside
75
76[darcs:svntailor]
77subdir = darcside
[613]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
[524]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
[537]105
[524]106        self.config = Config(StringIO(__doc__), {})
107        if not exists('/tmp/tailor-tests'):
108            mkdir('/tmp/tailor-tests')
109            register(rmtree, '/tmp/tailor-tests')
[600]110
111    def testConfiguration(self):
112        "Test basic configuration"
113
114        from os.path import expanduser
115
116        p = Tailorizer('darcs2svn', self.config)
[618]117        self.assertEqual(p.source.subdir, 'darcside')
[600]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')
[598]124
[618]125        tailorizer = Tailorizer('cvs2darcs', self.config)
126        self.assertEqual(tailorizer.subdir, 'pxlib')
127        self.assertEqual(tailorizer.source.subdir, 'pxlib')
128
[611]129    def testDarcsToBazaarng(self):
130        "Test darcs to BazaarNG"
[524]131
[603]132        tailorizer = Tailorizer('darcs2bzr', self.config)
[597]133        tailorizer()
[627]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()
[611]142        self.assert_(tailorizer.exists())
[597]143        tailorizer()
[524]144
[611]145    def testDarcsToMercurial(self):
146        "Test darcs to mercurial"
[524]147
[603]148        tailorizer = Tailorizer('darcs2hg', self.config)
[597]149        tailorizer()
[611]150        self.assert_(tailorizer.exists())
[597]151        tailorizer()
[537]152
[611]153    def testDarcsToCodeville(self):
154        "Test darcs to codeville"
[537]155
[603]156        tailorizer = Tailorizer('darcs2cdv', self.config)
[597]157        tailorizer()
[611]158        self.assert_(tailorizer.exists())
[597]159        tailorizer()
[537]160
[611]161    def testDarcsToSubversion(self):
162        "Test darcs to subversion"
[537]163
[603]164        tailorizer = Tailorizer('darcs2svn', self.config)
[597]165        tailorizer()
[611]166        self.assert_(tailorizer.exists())
[597]167        tailorizer()
[544]168
169    ## The other way
[611]170
171    def testSubversionToDarcs(self):
[544]172        "Test subversion to darcs"
[603]173
[597]174        tailorizer = Tailorizer('svn2darcs', self.config)
[613]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)
[611]183        tailorizer()
[597]184        self.assert_(tailorizer.exists())
[544]185        tailorizer()
Note: See TracBrowser for help on using the repository browser.