Beispiel #1
0
 def test_edithead(self):
     try:
         dl = DiskLog("testdir")
         dl.append("FOO")
         self.assertEqual(dl.head(), "FOO")
         self.assertEqual(dl.tail(), "FOO")
         dl.update_tail("FOO BAR")
         self.assertEqual(dl.head(), "FOO BAR")
         self.assertEqual(dl.tail(), "FOO BAR")
     finally:
         shutil.rmtree("testdir")
 def test_edithead(self):
     try:
         dl = DiskLog("testdir")
         dl.append("FOO")
         self.assertEqual(dl.head(), "FOO")
         self.assertEqual(dl.tail(), "FOO")
         dl.update_tail("FOO BAR")
         self.assertEqual(dl.head(), "FOO BAR")
         self.assertEqual(dl.tail(), "FOO BAR")
     finally:
         shutil.rmtree("testdir")
Beispiel #3
0
    def test_save_one(self):
        try:
            dl = DiskLog("testdir")
            dl.append("FOO")
            self.assertEqual(dl.head(), "FOO")
            self.assertEqual(dl.tail(), "FOO")

            dl2 = DiskLog("testdir")
            self.assertEqual(dl.head(), "FOO")
            self.assertEqual(dl.tail(), "FOO")
        finally:
            shutil.rmtree("testdir")
    def test_save_one(self):
        try:
            dl = DiskLog("testdir")
            dl.append("FOO")
            self.assertEqual(dl.head(), "FOO")
            self.assertEqual(dl.tail(), "FOO")

            dl2 = DiskLog("testdir")
            self.assertEqual(dl.head(), "FOO")
            self.assertEqual(dl.tail(), "FOO")
        finally:
            shutil.rmtree("testdir")
Beispiel #5
0
 def test_pop(self):
     try:
         dl = DiskLog("testdir")
         dl.append("1")
         dl.append("2")
         self.assertEqual(dl.head(), "1")
         self.assertEqual(dl.tail(), "2")
         dl.pop()
         self.assertEqual(dl.head(), "2")
         self.assertEqual(dl.tail(), "2")
         dl.pop()
         self.assertEqual(dl.head(), None)
         self.assertEqual(dl.tail(), None)
     finally:
         shutil.rmtree("testdir")
 def test_pop(self):
     try:
         dl = DiskLog("testdir")
         dl.append("1")
         dl.append("2")
         self.assertEqual(dl.head(), "1")
         self.assertEqual(dl.tail(), "2")
         dl.pop()
         self.assertEqual(dl.head(), "2")
         self.assertEqual(dl.tail(), "2")
         dl.pop()
         self.assertEqual(dl.head(), None)
         self.assertEqual(dl.tail(), None)
     finally:
         shutil.rmtree("testdir")
Beispiel #7
0
    def test_disappearing_logs(self):
        try:
            dl = DiskLog("testdir")
            for i in xrange(0, 10):
                dl.append(i)
            dl.sync()

            # head is cached even though we removed it
            os.remove("testdir/00000000")
            os.remove("testdir/00000001")
            self.assertEqual(dl.head(), 0)

            # this should cause it to notice that it's missing
            dl.pop()
            self.assertEqual(dl.head(), 2)

            # remove the rast of the logs
            for f in glob.glob("testdir/0000*"):
                os.remove(f)
            self.assertEqual(dl.head(), 2)
            dl.pop()
            # head was still in memory
            self.assertEqual(dl.head(), dl.tail())
            self.assertEqual(dl.head(), 9)
        finally:
            shutil.rmtree("testdir")
Beispiel #8
0
 def test_race(self):
     try:
         dl = DiskLog("testdir")
         dl.append("FOO 0")
         for i in xrange(1, 10):
             self.assertEqual(dl.head(), "FOO " + str(i - 1))
             self.assertEqual(dl.tail(), "FOO " + str(i - 1))
             dl.append("FOO " + str(i))
             dl.pop()
         self.assertEqual(dl.head(), "FOO " + str(9))
         self.assertEqual(dl.tail(), "FOO " + str(9))
         dl.pop()
         self.assertEqual(dl.head(), None)
         self.assertEqual(dl.tail(), None)
     finally:
         shutil.rmtree("testdir")
    def test_disappearing_logs(self):
        try:
            dl = DiskLog("testdir")
            for i in xrange(0, 10):
                dl.append(i)
            dl.sync()

            # head is cached even though we removed it
            os.remove("testdir/00000000")
            os.remove("testdir/00000001")
            self.assertEqual(dl.head(), 0)

            # this should cause it to notice that it's missing
            dl.pop()
            self.assertEqual(dl.head(), 2)

            # remove the rast of the logs
            for f in glob.glob("testdir/0000*"):
                os.remove(f)
            self.assertEqual(dl.head(), 2)
            dl.pop()
            # head was still in memory
            self.assertEqual(dl.head(), dl.tail())
            self.assertEqual(dl.head(), 9)
        finally:
            shutil.rmtree("testdir")
 def test_race(self):
     try:
         dl = DiskLog("testdir")
         dl.append("FOO 0")
         for i in xrange(1, 10):
             self.assertEqual(dl.head(), "FOO " + str(i-1))
             self.assertEqual(dl.tail(), "FOO " + str(i-1))
             dl.append("FOO " + str(i))
             dl.pop()
         self.assertEqual(dl.head(), "FOO " + str(9))
         self.assertEqual(dl.tail(), "FOO " + str(9))
         dl.pop()
         self.assertEqual(dl.head(), None)
         self.assertEqual(dl.tail(), None)
     finally:
         shutil.rmtree("testdir")
Beispiel #11
0
    def test_trunc_split(self):
        try:
            dl = DiskLog("testdir")
            dl.append("FOO 0")
            for i in xrange(1, 10):
                self.assertEqual(dl.tail(), "FOO " + str(i - 1))
                self.assertEqual(dl.head(), "FOO 0")
                dl.append("FOO " + str(i))
            dl.sync()

            dl2 = DiskLog("testdir")
            for i in xrange(1, 10):
                dl2.pop()
                self.assertEqual(dl2.head(), "FOO " + str(i))
        finally:
            shutil.rmtree("testdir")
 def test_trunc_split(self):
     try:
         dl = DiskLog("testdir")
         dl.append("FOO 0")
         for i in xrange(1, 10):
             self.assertEqual(dl.tail(), "FOO " + str(i-1))
             self.assertEqual(dl.head(), "FOO 0")
             dl.append("FOO " + str(i))
         dl.sync()
             
         dl2 = DiskLog("testdir")
         for i in xrange(1, 10):
             dl2.pop()
             self.assertEqual(dl2.head(), "FOO " + str(i))
     finally:
         shutil.rmtree("testdir")