def test_exceed_limit(self): """Test exceeding the limit.""" with self.assertRaises(wcmatch._wcparse.PatternLimitException): rc._DirWalker(self.tempdir, file_pattern='*.*|-*.file', flags=self.default_flags, limit=1)
def test_non_recursive_inverse(self): """Test non-recursive inverse search.""" walker = rc._DirWalker(self.tempdir, file_pattern='*.*|-*.file', flags=self.default_flags) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 2) self.assertEqual(len(self.files), 2)
def test_recursive(self): """Test non-recursive search.""" walker = rc._DirWalker(self.tempdir, file_pattern='*.txt', flags=self.default_flags | wcmatch.RECURSIVE) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(self.files[0].name), 'a.txt')
def test_no_limit(self): """Test no limit search.""" walker = rc._DirWalker(self.tempdir, file_pattern='*.*|-*.file', flags=self.default_flags, limit=0) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 2) self.assertEqual(len(self.files), 2)
def test_non_recursive_inverse_backup(self): """Test non-recursive inverse search with backup.""" walker = rc._DirWalker(self.tempdir, file_pattern='*.*|-*.file', flags=self.default_flags, backup_location='rum-bak') self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1)
def test_abort(self): """Test aborting.""" walker = rc._DirWalker(self.tempdir, file_pattern='*.txt', flags=self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN) records = 0 for f in walker.imatch(): records += 1 walker.kill() self.assertEqual(records, 1)
def test_abort_early(self): """Test aborting early.""" walker = rc._DirWalker(self.tempdir, file_pattern='*.txt*', flags=self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN) walker.kill() records = 0 for f in walker.imatch(): records += 1 self.assertTrue(records == 0 or walker.get_skipped() == 0)
def test_size_equal(self): """Test size equals than x.""" walker = rc._DirWalker(self.tempdir, file_pattern=r'*.*', flags=self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, size=("eq", 0)) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 1) self.assertEqual(len(self.files), 5)
def test_backup_folder_no_backup(self): """Test directory search with backup disabled and folder backup.""" walker = rc._DirWalker(self.tempdir, file_pattern=r'*.txt', flags=self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, backup_to_folder=True) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 0) self.assertEqual(len(self.files), 2)
def test_recursive_hidden_folder_exclude_inverse(self): """Test non-recursive search with inverse.""" walker = rc._DirWalker(self.tempdir, file_pattern='*.txt', exclude_pattern='*|-.hidden', flags=self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 4) self.assertEqual(len(self.files), 2) self.assertEqual(os.path.basename(sorted(self.files)[0].name), 'a.txt')
def test_re(self): """Test regex search.""" walker = rc._DirWalker(self.tempdir, file_pattern=r'.*?\.txt', flags=self.default_flags, file_regex_match=True) self.crawl_files(walker) self.assertEqual(walker.regex_mode, rc.RE_MODE) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(sorted(self.files)[0].name), 'a.txt')
def test_time_created_greater(self): """Test created time greater than x.""" walker = rc._DirWalker(self.tempdir, file_pattern=r'*.*', flags=self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, created=("gt", rc.util.local_time_to_epoch_timestamp( '07/07/1980', '00:00:00'))) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 0) self.assertEqual(len(self.files), 6)
def test_recursive_hidden_re_folder_exclude(self): """Test non-recursive search.""" walker = rc._DirWalker(self.tempdir, file_pattern='*.txt', exclude_pattern=r'\.hidden', flags=self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, folder_regex_exclude_match=True) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(self.files[0].name), 'a.txt')
def test_raw_chars(self): """Test raw chars.""" walker = rc._DirWalker( self.tempdir, file_pattern=r'*.\x74\N{LATIN SMALL LETTER X}\u0074', exclude_pattern=r'\.\U00000068idden', flags=self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, folder_regex_exclude_match=True) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(self.files[0].name), 'a.txt')
def test_non_recursive_inverse_backup(self): """Test non-recursive inverse search with backup.""" walker = rc._DirWalker( self.tempdir, '*.*|-*.file', None, False, False, self.default_flags, False, False, None, None, None, 'rum-bak', False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1)
def test_backup_folder_with_backup(self): """Test directory search with backup disabled and folder backup.""" walker = rc._DirWalker( self.tempdir, r'*.txt', None, self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, False, False, None, None, None, '.rum-bak', True ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 0) self.assertEqual(len(self.files), 1)
def test_time_created_greater(self): """Test created time greater than x.""" walker = rc._DirWalker( self.tempdir, r'*.*', None, self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, False, False, None, None, ("gt", epoch.local_time_to_epoch_timestamp('07/07/1980', '00:00:00')), None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 0) self.assertEqual(len(self.files), 6)
def test_size_equal(self): """Test size equals than x.""" walker = rc._DirWalker( self.tempdir, r'*.*', None, self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, False, False, ("eq", 0), None, None, None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 1) self.assertEqual(len(self.files), 5)
def test_non_recursive_inverse_backup(self): """Test non-recursive inverse search with backup.""" walker = rc._DirWalker( self.tempdir, '*.*|-*.file', None, self.default_flags, False, False, None, None, None, 'rum-bak', False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1)
def test_backup_folder_with_backup(self): """Test directory search with backup disabled and folder backup.""" walker = rc._DirWalker( self.tempdir, r'*.txt', None, True, True, self.default_flags, False, False, None, None, None, '.rum-bak', True ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 0) self.assertEqual(len(self.files), 1)
def test_time_created_greater(self): """Test created time greater than x.""" walker = rc._DirWalker( self.tempdir, r'*.*', None, True, True, self.default_flags, False, False, None, None, ("gt", epoch.local_time_to_epoch_timestamp('07/07/1980', '00:00:00')), None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 0) self.assertEqual(len(self.files), 6)
def test_size_equal(self): """Test size equals than x.""" walker = rc._DirWalker( self.tempdir, r'*.*', None, True, True, self.default_flags, False, False, ("eq", 0), None, None, None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 1) self.assertEqual(len(self.files), 5)
def test_abort(self): """Test aborting.""" walker = rc._DirWalker( self.tempdir, '*.txt', None, True, True, self.default_flags, False, False, None, None, None, None, False ) records = 0 for f in walker.imatch(): records += 1 walker.kill() self.assertEqual(records, 1)
def test_recursive_hidden_folder_exclude_inverse(self): """Test non-recursive search with inverse.""" walker = rc._DirWalker( self.tempdir, '*.txt', '*|-.hidden', True, True, self.default_flags, False, False, None, None, None, None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 4) self.assertEqual(len(self.files), 2) self.assertEqual(os.path.basename(sorted(self.files)[0].name), 'a.txt')
def test_abort_early(self): """Test aborting early.""" walker = rc._DirWalker( self.tempdir, '*.txt*', None, True, True, self.default_flags, False, False, None, None, None, None, False ) walker.kill() records = 0 for f in walker.imatch(): records += 1 self.assertTrue(records == 1 or walker.get_skipped() == 1)
def test_recursive(self): """Test non-recursive search.""" walker = rc._DirWalker( self.tempdir, '*.txt', None, self.default_flags | wcmatch.RECURSIVE, False, False, None, None, None, None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(self.files[0].name), 'a.txt')
def test_recursive_hidden_re_folder_exclude(self): """Test non-recursive search.""" walker = rc._DirWalker( self.tempdir, '*.txt', r'\.hidden', self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, False, True, None, None, None, None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(self.files[0].name), 'a.txt')
def test_recursive_hidden_folder_exclude_inverse(self): """Test non-recursive search with inverse.""" walker = rc._DirWalker( self.tempdir, '*.txt', '*|-.hidden', self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, False, False, None, None, None, None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 4) self.assertEqual(len(self.files), 2) self.assertEqual(os.path.basename(sorted(self.files)[0].name), 'a.txt')
def test_time_modified_less(self): """Test modified time less than x.""" future = datetime.datetime.today() + datetime.timedelta(days=2) date = "%02d/%02d/%04d" % (future.month, future.day, future.year) walker = rc._DirWalker( self.tempdir, file_pattern=r'*.*', flags=self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, modified=("lt", rc.util.local_time_to_epoch_timestamp(date, '00:00:00'))) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 0) self.assertEqual(len(self.files), 6)
def test_raw_chars(self): """Test raw chars.""" walker = rc._DirWalker( self.tempdir, r'*.\x74\N{LATIN SMALL LETTER X}\u0074', r'\.\U00000068idden', self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, False, True, None, None, None, None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(self.files[0].name), 'a.txt')
def test_abort(self): """Test aborting.""" walker = rc._DirWalker( self.tempdir, '*.txt', None, self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, False, False, None, None, None, None, False ) records = 0 for f in walker.imatch(): records += 1 walker.kill() self.assertEqual(records, 1)
def test_recursive_hidden_re_folder_exclude(self): """Test non-recursive search.""" walker = rc._DirWalker( self.tempdir, '*.txt', r'\.hidden', True, True, self.default_flags, False, True, None, None, None, None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(self.files[0].name), 'a.txt')
def test_abort_early(self): """Test aborting early.""" walker = rc._DirWalker( self.tempdir, '*.txt*', None, self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, False, False, None, None, None, None, False ) walker.kill() records = 0 for f in walker.imatch(): records += 1 self.assertTrue(records == 0 or walker.get_skipped() == 0)
def test_raw_chars(self): """Test raw chars.""" walker = rc._DirWalker( self.tempdir, r'*.\x74\N{LATIN SMALL LETTER X}\u0074', r'\.\U00000068idden', True, True, self.default_flags, False, True, None, None, None, None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(self.files[0].name), 'a.txt')
def test_re(self): """Test regex search.""" walker = rc._DirWalker( self.tempdir, r'.*?\.txt', None, self.default_flags, True, False, None, None, None, None, False ) self.crawl_files(walker) self.assertEqual(walker.regex_mode, rc.RE_MODE) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(sorted(self.files)[0].name), 'a.txt')
def test_time_created_less(self): """Test created time less than x.""" future = datetime.datetime.today() + datetime.timedelta(days=2) date = "%02d/%02d/%04d" % (future.month, future.day, future.year) walker = rc._DirWalker( self.tempdir, r'*.*', None, self.default_flags | wcmatch.RECURSIVE | wcmatch.HIDDEN, False, False, None, None, ("lt", epoch.local_time_to_epoch_timestamp(date, '00:00:00')), None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 0) self.assertEqual(len(self.files), 6)
def test_time_created_less(self): """Test created time less than x.""" future = datetime.datetime.today() + datetime.timedelta(days=2) date = "%02d/%02d/%04d" % (future.month, future.day, future.year) walker = rc._DirWalker( self.tempdir, r'*.*', None, True, True, self.default_flags, False, False, None, None, ("lt", epoch.local_time_to_epoch_timestamp(date, '00:00:00')), None, False ) self.crawl_files(walker) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 0) self.assertEqual(len(self.files), 6)
def test_bregex(self): """Test `bregex` search.""" walker = rc._DirWalker( self.tempdir, r'.*?\.txt', None, False, False, self.default_flags, True, False, None, None, None, None, False, rc.BREGEX_MODE ) self.crawl_files(walker) self.assertEqual(walker.regex_mode, rc.BREGEX_MODE) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(sorted(self.files)[0].name), 'a.txt')
def test_bad_regular_expression_mode(self): """Test bad regular expression mode search.""" walker = rc._DirWalker( self.tempdir, r'.*?\.txt', None, False, False, self.default_flags, True, False, None, None, None, None, False, -1 ) self.crawl_files(walker) self.assertEqual(walker.regex_mode, rc.RE_MODE) self.assertEqual(len(self.errors), 0) self.assertEqual(self.skipped, 3) self.assertEqual(len(self.files), 1) self.assertEqual(os.path.basename(sorted(self.files)[0].name), 'a.txt')