Exemplo n.º 1
0
 def action_test_helper(self, command, special_expected, errors_expected,
                        bytes_expected_posix, count_deleted_posix,
                        bytes_expected_nt, count_deleted_nt):
     ui = CLI.CliCallback()
     (fd, filename) = tempfile.mkstemp(prefix='bleachbit-test-worker')
     os.write(fd, '123')
     os.close(fd)
     self.assert_(os.path.exists(filename))
     astr = '<action command="%s" path="%s"/>' % (command, filename)
     cleaner = TestCleaner.action_to_cleaner(astr)
     backends['test'] = cleaner
     operations = {'test': ['option1']}
     worker = Worker(ui, True, operations)
     run = worker.run()
     while run.next():
         pass
     self.assert_(not os.path.exists(filename),
                  "Path still exists '%s'" % filename)
     self.assertEqual(worker.total_special, special_expected,
                      'For command %s expecting %s special operations but observed %d'
                      % (command, special_expected, worker.total_special))
     self.assertEqual(worker.total_errors, errors_expected,
                      'For command %s expecting %d errors but observed %d'
                      % (command, errors_expected, worker.total_errors))
     if 'posix' == os.name:
         self.assertEqual(worker.total_bytes, bytes_expected_posix)
         self.assertEqual(worker.total_deleted, count_deleted_posix)
     elif 'nt' == os.name:
         self.assertEqual(worker.total_bytes, bytes_expected_nt)
         self.assertEqual(worker.total_deleted, count_deleted_nt)
Exemplo n.º 2
0
    def test_multiple_options(self):
        """Test one cleaner with two options"""
        ui = CLI.CliCallback()
        (fd, filename1) = tempfile.mkstemp(prefix='bleachbit-test-worker')
        os.close(fd)
        self.assert_(os.path.exists(filename1))
        (fd, filename2) = tempfile.mkstemp(prefix='bleachbit-test-worker')
        os.close(fd)
        self.assert_(os.path.exists(filename2))

        astr1 = '<action command="delete" search="file" path="%s"/>' % filename1
        astr2 = '<action command="delete" search="file" path="%s"/>' % filename2
        cleaner = TestCleaner.actions_to_cleaner([astr1, astr2])
        backends['test'] = cleaner
        operations = {'test': ['option1', 'option2']}
        worker = Worker(ui, True, operations)
        run = worker.run()
        while run.next():
            pass
        self.assert_(not os.path.exists(filename1),
                     "Path still exists '%s'" % filename1)
        self.assert_(not os.path.exists(filename2),
                     "Path still exists '%s'" % filename2)
        self.assertEqual(worker.total_special, 0)
        self.assertEqual(worker.total_errors, 0)
        self.assertEqual(worker.total_deleted, 2)
Exemplo n.º 3
0
 def test_TestActionProvider(self):
     """Test Worker using Action.TestActionProvider"""
     ui = CLI.CliCallback()
     (fd, filename) = tempfile.mkstemp('bleachbit-test')
     os.write(fd, '123')
     os.close(fd)
     self.assert_(os.path.exists(filename))
     astr = '<action command="test" path="%s"/>' % filename
     cleaner = TestCleaner.action_to_cleaner(astr)
     backends['test'] = cleaner
     operations = {'test': ['option1']}
     worker = Worker(ui, True, operations)
     run = worker.run()
     while run.next():
         pass
     self.assert_(not os.path.exists(filename),
                  "Path still exists '%s'" % filename)
     self.assertEqual(worker.total_special, 3)
     self.assertEqual(worker.total_errors, 2)
     if 'posix' == os.name:
         self.assertEqual(worker.total_bytes, 4096 + 10 + 10)
         self.assertEqual(worker.total_deleted, 3)
     elif 'nt' == os.name:
         self.assertEqual(worker.total_bytes, 3 + 3 + 10 + 10)
         self.assertEqual(worker.total_deleted, 4)
Exemplo n.º 4
0
 def test_TestActionProvider(self):
     """Test Worker using Action.TestActionProvider"""
     ui = CLI.CliCallback()
     (fd, filename) = tempfile.mkstemp('bleachbit-test')
     os.write(fd, '123')
     os.close(fd)
     self.assert_(os.path.exists(filename))
     astr = '<action command="test" path="%s"/>' % filename
     cleaner = TestCleaner.action_to_cleaner(astr)
     backends['test'] = cleaner
     operations = { 'test' : [ 'option1' ] }
     worker = Worker(ui, True, operations)
     run = worker.run()
     while run.next():
         pass
     self.assert_(not os.path.exists(filename), \
         "Path still exists '%s'" % filename)
     self.assertEqual(worker.total_special, 3)
     self.assertEqual(worker.total_errors, 2)
     if 'posix' == os.name:
         self.assertEqual(worker.total_bytes, 4096+10+10)
         self.assertEqual(worker.total_deleted, 3)
     elif 'nt' == os.name:
         self.assertEqual(worker.total_bytes, 3+3+10+10)
         self.assertEqual(worker.total_deleted, 4)
Exemplo n.º 5
0
    def test_delete(self):
        """Delete files in a test environment"""

        # make some files
        base = os.path.expanduser("~/bleachbit-deepscan-test")
        if os.path.exists(base):
            shutil.rmtree(base)
        os.mkdir(base)
        f_del1 = os.path.join(base, "foo.txt.bbtestbak")
        file(f_del1, "w").write("")
        f_keep = os.path.join(base, "foo.txt")
        file(f_keep, "w").write("")
        subdir = os.path.join(base, "sub")
        os.mkdir(subdir)
        f_del2 = os.path.join(base, "sub/bar.ini.bbtestbak")
        file(f_del2, "w").write("")

        # sanity check
        self.assert_(os.path.exists(f_del1))
        self.assert_(os.path.exists(f_keep))
        self.assert_(os.path.exists(f_del2))

        # run deep scan
        astr = '<action command="delete" search="deep" regex="\.bbtestbak$" cache="false"/>'
        import TestCleaner

        cleaner = TestCleaner.action_to_cleaner(astr)
        from bleachbit.Worker import backends, Worker

        backends["test"] = cleaner
        operations = {"test": ["option1"]}
        from bleachbit import CLI

        ui = CLI.CliCallback()
        worker = Worker(ui, True, operations)
        run = worker.run()
        while run.next():
            pass

        # validate results
        self.assert_(not os.path.exists(f_del1))
        self.assert_(os.path.exists(f_keep))
        self.assert_(not os.path.exists(f_del2))

        # clean up
        shutil.rmtree(base)
Exemplo n.º 6
0
    def test_delete(self):
        """Delete files in a test environment"""

        # make some files
        base = os.path.expanduser('~/bleachbit-deepscan-test')
        if os.path.exists(base):
            shutil.rmtree(base)
        os.mkdir(base)
        f_del1 = os.path.join(base, 'foo.txt.bbtestbak')
        file(f_del1, 'w').write('')
        f_keep = os.path.join(base, 'foo.txt')
        file(f_keep, 'w').write('')
        subdir = os.path.join(base, 'sub')
        os.mkdir(subdir)
        f_del2 = os.path.join(base, 'sub/bar.ini.bbtestbak')
        file(f_del2, 'w').write('')

        # sanity check
        self.assert_(os.path.exists(f_del1))
        self.assert_(os.path.exists(f_keep))
        self.assert_(os.path.exists(f_del2))

        # run deep scan
        astr = '<action command="delete" search="deep" regex="\.bbtestbak$" cache="false"/>'
        import TestCleaner
        cleaner = TestCleaner.action_to_cleaner(astr)
        from bleachbit.Worker import backends, Worker
        backends['test'] = cleaner
        operations = {'test': ['option1']}
        from bleachbit import CLI
        ui = CLI.CliCallback()
        worker = Worker(ui, True, operations)
        run = worker.run()
        while run.next():
            pass

        # validate results
        self.assert_(not os.path.exists(f_del1))
        self.assert_(os.path.exists(f_keep))
        self.assert_(not os.path.exists(f_del2))

        # clean up
        shutil.rmtree(base)
Exemplo n.º 7
0
import TestCommand
import TestDiagnostic
import TestDeepScan
import TestFileUtilities
import TestGeneral
import TestMemory
import TestOptions
import TestRecognizeCleanerML
import TestSpecial
import TestUpdate
import TestWorker


suites = [TestAction.suite(),
          TestCleanerML.suite(),
          TestCleaner.suite(),
          TestCLI.suite(),
          TestCommand.suite(),
          TestDeepScan.suite(),
          TestDiagnostic.suite(),
          TestFileUtilities.suite(),
          TestGeneral.suite(),
          TestMemory.suite(),
          TestOptions.suite(),
          TestRecognizeCleanerML.suite(),
          TestSpecial.suite(),
          TestUpdate.suite(),
          TestWorker.suite()]

if 'posix' == os.name:
    import TestUnix