source: tailor/vcpx/tests/statefile.py @ 1236

Revision 1236, 2.2 KB checked in by lele@…, 7 years ago (diff)

Drop StateFile.reversed() method that was used only by CVS

Line 
1# -*- mode: python; coding: utf-8 -*-
2# :Progetto: vcpx -- Tests for the state file
3# :Creato:   mer 17 ago 2005 18:51:46 CEST
4# :Autore:   Lele Gaifax <lele@nautilus.homeip.net>
5# :Licenza:  GNU General Public License
6#
7
8from unittest import TestCase
9from vcpx.statefile import StateFile
10from vcpx.shwrap import ReopenableNamedTemporaryFile
11
12
13class Statefile(TestCase):
14    "Exercise the state file machinery"
15
16    def testStateFile(self):
17        """Verify the state file behaviour"""
18
19        rontf = ReopenableNamedTemporaryFile('sf', 'tailor')
20
21        sf = StateFile(rontf.name, None)
22        sf.setPendingChangesets([1,2,3,4,5])
23
24        sf = StateFile(rontf.name, None)
25        self.assertEqual(sf.lastAppliedChangeset(), None)
26        i = 1
27        for cs in sf:
28            self.assertEqual(cs, i)
29            i += 1
30
31        sf = StateFile(rontf.name, None)
32        self.assertEqual(sf.lastAppliedChangeset(), None)
33        cs = sf.next()
34        sf.applied()
35        self.assertEqual(sf.lastAppliedChangeset(), 1)
36        cs = sf.next()
37        sf.applied()
38        self.assertEqual(sf.lastAppliedChangeset(), 2)
39        sf.finalize()
40        self.assertEqual(sf.pending(), True)
41
42        sf = StateFile(rontf.name, None)
43        self.assertEqual(sf.lastAppliedChangeset(), 2)
44        i = 3
45        for cs in sf:
46            self.assertEqual(cs, i)
47            sf.applied()
48            i += 1
49        sf.finalize()
50        self.assertEqual(sf.pending(), False)
51
52    def testJournal(self):
53        """Verify the state file journal"""
54
55        from os.path import exists
56
57        rontf = ReopenableNamedTemporaryFile('sf', 'tailor')
58
59        sf = StateFile(rontf.name, None)
60        sf.setPendingChangesets([1,2,3,4,5])
61
62        sf = StateFile(rontf.name, None)
63        self.assertEqual(sf.lastAppliedChangeset(), None)
64        cs = sf.next()
65        sf.applied()
66        self.assertEqual(sf.lastAppliedChangeset(), 1)
67        cs = sf.next()
68        sf.applied()
69        self.assertEqual(sf.lastAppliedChangeset(), 2)
70        self.assert_(exists(rontf.name + '.journal'))
71
72        sf = StateFile(rontf.name, None)
73        self.assertEqual(sf.lastAppliedChangeset(), 2)
74        i = 3
75        for cs in sf:
76            self.assertEqual(cs, i)
77            i += 1
Note: See TracBrowser for help on using the repository browser.