1/** 2 * @file glob_filter_tests.cpp 3 * 4 * @remark Copyright 2003 OProfile authors 5 * @remark Read the file COPYING 6 * 7 * @author John Levon 8 * @author Philippe Elie 9 */ 10 11#include <stdlib.h> 12 13#include <iostream> 14 15#include "glob_filter.h" 16 17using namespace std; 18 19#define check(filter, str, result) \ 20 if (filter.match(str) != result) { \ 21 cerr << "\"" << str << "\" matched with " #filter \ 22 << " did not return " #result << endl; \ 23 exit(EXIT_FAILURE); \ 24 } 25 26int main() 27{ 28 glob_filter f1("foo,*bar", "foobar"); 29 check(f1, "foo/barfoobar", true); 30 check(f1, "foo/bar", true); 31 check(f1, "/foo/foobar/foo", false); 32 check(f1, "fooobar1", false); 33 check(f1, "foo1", false); 34 check(f1, "foobar", false); 35 check(f1, "bar1", false); 36 37 glob_filter f2("foo", ""); 38 check(f2, "foo", true); 39 check(f2, "foo1", false); 40 check(f2, "foo/foo", false); 41 42 glob_filter f3("", "foo"); 43 check(f3, "foo", false); 44 check(f3, "foo1", true); 45 check(f3, "foo/foo", true); 46 47 glob_filter f4("foo", "foo"); 48 check(f4, "foo", false); 49 check(f4, "foo1", false); 50 check(f4, "foo/foo", false); 51 52 return EXIT_SUCCESS; 53} 54