From 0d5c19702a6c932c41d63ac4f7805421bc11a55f Mon Sep 17 00:00:00 2001 From: Eduardo Robles Elvira Date: Fri, 2 Aug 2013 10:18:19 +0200 Subject: [PATCH] testing deltatar filtering regular expressions --- testing/test_deltatar.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-) diff --git a/testing/test_deltatar.py b/testing/test_deltatar.py index b75694f..835405a 100644 --- a/testing/test_deltatar.py +++ b/testing/test_deltatar.py @@ -17,6 +17,7 @@ # Author: Eduardo Robles Elvira import os +import re import shutil import logging import binascii @@ -553,6 +554,45 @@ class DeltaTarTest(BaseTest): '/test/test2' ]) + def test_deltatar_filter_path_regexp(self): + ''' + Test specifically the deltatar.filter_path function with regular + expressions + ''' + included_files = [ + re.compile('^/test/(hola|caracola/caracolero)(|/.*)$'), + re.compile('^/yes$'), + '/testing' + ] + excluded_files = [ + re.compile('^/testing/in_the'), + ] + deltatar = DeltaTar(mode=self.MODE, included_files=included_files, + excluded_files=excluded_files) + + # assert valid and invalid paths + assert deltatar.filter_path('/test/hola') + assert deltatar.filter_path('/test/hola/any/thing') + assert deltatar.filter_path('/test/caracola/caracolero') + assert deltatar.filter_path('/test/caracola/caracolero/yeah') + assert deltatar.filter_path('/test/caracola/caracolero/whatever/aa') + assert deltatar.filter_path('/yes') + assert deltatar.filter_path('/testing') + assert deltatar.filter_path('/testing/yes') + assert deltatar.filter_path('/testing/in_th') + + assert not deltatar.filter_path('/something') + assert not deltatar.filter_path('/other/thing') + assert not deltatar.filter_path('/test_ing') + assert not deltatar.filter_path('/test/hola_lala') + assert not deltatar.filter_path('/test/agur') + assert not deltatar.filter_path('/testing_something') + assert not deltatar.filter_path('/yeso') + assert not deltatar.filter_path('/yes/o') + assert not deltatar.filter_path('/yes_o') + assert not deltatar.filter_path('/testing/in_the') + assert not deltatar.filter_path('/testing/in_the_field') + assert not deltatar.filter_path('/testing/in_the/field') class DeltaTar2Test(DeltaTarTest): -- 1.7.1