示例#1
0
文件: buck_test.py 项目: sdwilsh/buck
 def test_glob_double_star_integration(self):
     d = tempfile.mkdtemp()
     try:
         subdir = os.path.join(d, "b", "a", "c", "a")
         os.makedirs(subdir)
         f = open(os.path.join(subdir, "A.java"), "w")
         f.close()
         f = open(os.path.join(subdir, "B.java"), "w")
         f.close()
         f = open(os.path.join(subdir, "Test.java"), "w")
         f.close()
         f = open(os.path.join(subdir, ".tmp.java"), "w")
         f.close()
         os.makedirs(os.path.join(subdir, "NotAFile.java"))
         self.assertEquals(
             [os.path.join("b", "a", "c", "a", "A.java"), os.path.join("b", "a", "c", "a", "B.java")],
             glob_internal(
                 includes=["b/a/**/*.java"],
                 excludes=["**/*Test.java"],
                 project_root_relative_excludes=[],
                 include_dotfiles=False,
                 search_base=Path(d),
                 project_root=Path(d),
             ),
         )
     finally:
         shutil.rmtree(d)
示例#2
0
 def test_glob_double_star_integration(self):
     d = tempfile.mkdtemp()
     try:
         subdir = os.path.join(d, 'b', 'a', 'c', 'a')
         os.makedirs(subdir)
         f = open(os.path.join(subdir, 'A.java'), 'w')
         f.close()
         f = open(os.path.join(subdir, 'B.java'), 'w')
         f.close()
         f = open(os.path.join(subdir, 'Test.java'), 'w')
         f.close()
         f = open(os.path.join(subdir, '.tmp.java'), 'w')
         f.close()
         os.makedirs(os.path.join(subdir, 'NotAFile.java'))
         self.assertEquals(
             [
                 os.path.join('b', 'a', 'c', 'a', 'A.java'),
                 os.path.join('b', 'a', 'c', 'a', 'B.java'),
             ],
             glob_internal(
                 includes=['b/a/**/*.java'],
                 excludes=['**/*Test.java'],
                 project_root_relative_excludes=[],
                 include_dotfiles=False,
                 search_base=Path(d),
                 project_root=Path(d)))
     finally:
         shutil.rmtree(d)
示例#3
0
 def test_glob_double_star_integration(self):
     d = tempfile.mkdtemp()
     try:
         subdir = os.path.join(d, 'b', 'a', 'c', 'a')
         os.makedirs(subdir)
         f = open(os.path.join(subdir, 'A.java'), 'w')
         f.close()
         f = open(os.path.join(subdir, 'B.java'), 'w')
         f.close()
         f = open(os.path.join(subdir, 'Test.java'), 'w')
         f.close()
         f = open(os.path.join(subdir, '.tmp.java'), 'w')
         f.close()
         os.makedirs(os.path.join(subdir, 'NotAFile.java'))
         self.assertEquals([
             os.path.join('b', 'a', 'c', 'a', 'A.java'),
             os.path.join('b', 'a', 'c', 'a', 'B.java'),
         ],
                           glob_internal(includes=['b/a/**/*.java'],
                                         excludes=['**/*Test.java'],
                                         include_dotfiles=False,
                                         allow_empty=False,
                                         search_base=Path(d)))
     finally:
         shutil.rmtree(d)
示例#4
0
 def test_glob_errors_empty_results(self):
     search_base = self.fake_path('foo', glob_results={'*.java': []})
     self.assertRaises(
         AssertionError, lambda: glob_internal(includes=['*.java'],
                                               excludes=[],
                                               include_dotfiles=False,
                                               allow_empty=False,
                                               search_base=search_base))
示例#5
0
 def test_glob_allows_empty_results_with_flag(self):
     search_base = self.fake_path('foo', glob_results={'*.java': []})
     self.assertGlobMatches([],
                            glob_internal(includes=['*.java'],
                                          excludes=[],
                                          include_dotfiles=False,
                                          allow_empty=True,
                                          search_base=search_base))
示例#6
0
 def test_glob_includes_simple(self):
     search_base = self.fake_path(
         'foo', glob_results={'*.java': ['A.java', 'B.java']})
     self.assertGlobMatches(['A.java', 'B.java'],
                            glob_internal(includes=['*.java'],
                                          excludes=[],
                                          include_dotfiles=False,
                                          search_base=search_base))
示例#7
0
 def test_glob_includes_skips_dotfiles(self):
     search_base = fake_path('foo',
                             glob_results={'*.java': ['A.java', '.B.java']})
     self.assertEqual(['A.java'],
                      glob_internal(includes=['*.java'],
                                    excludes=[],
                                    include_dotfiles=False,
                                    search_base=search_base))
示例#8
0
 def test_glob_includes_does_not_skip_dotfiles_if_include_dotfiles(self):
     search_base = self.fake_path(
         'foo', glob_results={'*.java': ['A.java', '.B.java']})
     self.assertGlobMatches(['.B.java', 'A.java'],
                            glob_internal(includes=['*.java'],
                                          excludes=[],
                                          include_dotfiles=True,
                                          search_base=search_base))
示例#9
0
 def test_glob_includes_skips_dot_directories(self):
     search_base = self.fake_path(
         'foo', glob_results={'*.java': ['A.java', '.test/B.java']})
     self.assertGlobMatches(['A.java'],
                            glob_internal(includes=['*.java'],
                                          excludes=[],
                                          project_root_relative_excludes=[],
                                          include_dotfiles=False,
                                          search_base=search_base,
                                          project_root=self.fake_path('')))
示例#10
0
 def test_glob_includes_does_not_skip_dotfiles_if_include_dotfiles(self):
     search_base = self.fake_path(
         'foo',
         glob_results={'*.java': ['A.java', '.B.java']})
     self.assertGlobMatches(
         ['.B.java', 'A.java'],
         glob_internal(
             includes=['*.java'],
             excludes=[],
             include_dotfiles=True,
             search_base=search_base))
示例#11
0
 def test_glob_excludes_relative(self):
     search_base = self.fake_path(
         'foo',
         glob_results={
             '**/*.java': ['foo/A.java', 'foo/bar/B.java', 'bar/C.java'],
         })
     self.assertGlobMatches(['foo/A.java', 'foo/bar/B.java'],
                            glob_internal(includes=['**/*.java'],
                                          excludes=['bar/*.java'],
                                          include_dotfiles=False,
                                          search_base=search_base))
示例#12
0
 def test_glob_includes_simple(self):
     search_base = fake_path(
         'foo',
         glob_results={'*.java': ['A.java', 'B.java']})
     self.assertEqual(
         ['A.java', 'B.java'],
         glob_internal(
             includes=['*.java'],
             excludes=[],
             include_dotfiles=False,
             search_base=search_base))
示例#13
0
 def test_explicit_exclude_with_file_separator_excludes(self):
     search_base = self.fake_path(
         'foo',
         glob_results={
             'java/**/*.java': ['java/Include.java', 'java/Exclude.java']
         })
     self.assertGlobMatches(['java/Include.java'],
                            glob_internal(includes=['java/**/*.java'],
                                          excludes=['java/Exclude.java'],
                                          include_dotfiles=False,
                                          search_base=search_base))
示例#14
0
 def test_explicit_exclude_with_file_separator_excludes(self):
     search_base = self.fake_path(
         'foo',
         glob_results={'java/**/*.java': ['java/Include.java', 'java/Exclude.java']})
     self.assertGlobMatches(
         ['java/Include.java'],
         glob_internal(
             includes=['java/**/*.java'],
             excludes=['java/Exclude.java'],
             include_dotfiles=False,
             search_base=search_base))
示例#15
0
 def test_glob_excludes_multi(self):
     search_base = fake_path('foo',
                             glob_results={
                                 'bar/*.java': ['bar/A.java', 'bar/B.java'],
                                 'baz/*.java': ['baz/C.java', 'baz/D.java'],
                             })
     self.assertEqual(['bar/B.java', 'baz/D.java'],
                      glob_internal(includes=['bar/*.java', 'baz/*.java'],
                                    excludes=['*/[AC].java'],
                                    include_dotfiles=False,
                                    search_base=search_base))
示例#16
0
 def test_glob_includes_sort(self):
     search_base = self.fake_path(
         'foo',
         glob_results={'*.java': ['A.java', 'E.java', 'D.java', 'C.java', 'B.java']})
     self.assertGlobMatches(
         ['A.java', 'B.java', 'C.java', 'D.java', 'E.java'],
         glob_internal(
             includes=['*.java'],
             excludes=[],
             include_dotfiles=False,
             search_base=search_base))
示例#17
0
 def test_glob_excludes_double_star(self):
     search_base = self.fake_path('foo',
                                  glob_results={
                                      '**/*.java':
                                      ['A.java', 'B.java', 'Test.java'],
                                  })
     self.assertGlobMatches(['A.java', 'B.java'],
                            glob_internal(includes=['**/*.java'],
                                          excludes=['**/*Test.java'],
                                          include_dotfiles=False,
                                          search_base=search_base))
示例#18
0
 def test_glob_allows_empty_results_with_flag(self):
     search_base = fake_path(
         'foo',
         glob_results={'*.java': []})
     self.assertEqual(
         [],
         glob_internal(
             includes=['*.java'],
             excludes=[],
             include_dotfiles=False,
             allow_empty=True,
             search_base=search_base))
示例#19
0
 def test_glob_includes_skips_dotfiles(self):
     search_base = self.fake_path(
         'foo',
         glob_results={'*.java': ['A.java', '.B.java']})
     self.assertGlobMatches(
         ['A.java'],
         glob_internal(
             includes=['*.java'],
             excludes=[],
             include_dotfiles=False,
             allow_empty=False,
             search_base=search_base))
示例#20
0
文件: buck_test.py 项目: tmxdyf/buck
 def test_glob_includes_sort(self):
     search_base = fake_path(
         'foo',
         glob_results={
             '*.java': ['A.java', 'E.java', 'D.java', 'C.java', 'B.java']
         })
     self.assertEqual(['A.java', 'B.java', 'C.java', 'D.java', 'E.java'],
                      glob_internal(includes=['*.java'],
                                    excludes=[],
                                    include_dotfiles=False,
                                    allow_empty=False,
                                    search_base=search_base))
示例#21
0
 def test_glob_errors_empty_results(self):
     search_base = fake_path(
         'foo',
         glob_results={'*.java': []})
     self.assertRaises(
         AssertionError,
         lambda:
         glob_internal(
             includes=['*.java'],
             excludes=[],
             include_dotfiles=False,
             allow_empty=False,
             search_base=search_base))
示例#22
0
 def test_glob_excludes_relative(self):
     search_base = self.fake_path(
         'foo',
         glob_results={
             '**/*.java': ['foo/A.java', 'foo/bar/B.java', 'bar/C.java'],
         })
     self.assertGlobMatches(
         ['foo/A.java', 'foo/bar/B.java'],
         glob_internal(
             includes=['**/*.java'],
             excludes=['bar/*.java'],
             include_dotfiles=False,
             search_base=search_base))
示例#23
0
 def test_glob_includes_simple(self):
     search_base = self.fake_path(
         'foo',
         glob_results={'*.java': ['A.java', 'B.java']})
     self.assertGlobMatches(
         ['A.java', 'B.java'],
         glob_internal(
             includes=['*.java'],
             excludes=[],
             project_root_relative_excludes=[],
             include_dotfiles=False,
             search_base=search_base,
             project_root=self.fake_path('')))
示例#24
0
 def test_glob_excludes_double_star(self):
     search_base = self.fake_path(
         'foo',
         glob_results={
             '**/*.java': ['A.java', 'B.java', 'Test.java'],
         })
     self.assertGlobMatches(
         ['A.java', 'B.java'],
         glob_internal(
             includes=['**/*.java'],
             excludes=['**/*Test.java'],
             include_dotfiles=False,
             search_base=search_base))
示例#25
0
 def test_glob_excludes_multi(self):
     search_base = self.fake_path(
         'foo',
         glob_results={
             'bar/*.java': ['bar/A.java', 'bar/B.java'],
             'baz/*.java': ['baz/C.java', 'baz/D.java'],
         })
     self.assertGlobMatches(
         ['bar/B.java', 'baz/D.java'],
         glob_internal(
             includes=['bar/*.java', 'baz/*.java'],
             excludes=['*/[AC].java'],
             include_dotfiles=False,
             search_base=search_base))
示例#26
0
 def test_case_preserved(self):
     d = tempfile.mkdtemp()
     try:
         subdir = os.path.join(d, 'java')
         os.makedirs(subdir)
         open(os.path.join(subdir, 'Main.java'), 'w').close()
         self.assertEquals([
             os.path.join('java', 'Main.java'),
         ],
                           glob_internal(includes=['java/Main.java'],
                                         excludes=[],
                                         include_dotfiles=False,
                                         search_base=Path(d)))
     finally:
         shutil.rmtree(d)
示例#27
0
 def test_glob_includes_multi(self):
     search_base = self.fake_path('foo',
                                  glob_results={
                                      'bar/*.java':
                                      ['bar/A.java', 'bar/B.java'],
                                      'baz/*.java':
                                      ['baz/C.java', 'baz/D.java'],
                                  })
     self.assertGlobMatches(
         ['bar/A.java', 'bar/B.java', 'baz/C.java', 'baz/D.java'],
         glob_internal(includes=['bar/*.java', 'baz/*.java'],
                       excludes=[],
                       include_dotfiles=False,
                       allow_empty=False,
                       search_base=search_base))
示例#28
0
 def test_glob_includes_multi(self):
     search_base = fake_path(
         'foo',
         glob_results={
             'bar/*.java': ['bar/A.java', 'bar/B.java'],
             'baz/*.java': ['baz/C.java', 'baz/D.java'],
         })
     self.assertEqual(
         ['bar/A.java', 'bar/B.java', 'baz/C.java', 'baz/D.java'],
         glob_internal(
             includes=['bar/*.java', 'baz/*.java'],
             excludes=[],
             include_dotfiles=False,
             allow_empty=False,
             search_base=search_base))
示例#29
0
 def test_glob_includes_multi(self):
     search_base = self.fake_path('foo',
                                  glob_results={
                                      'bar/*.java':
                                      ['bar/A.java', 'bar/B.java'],
                                      'baz/*.java':
                                      ['baz/C.java', 'baz/D.java'],
                                  })
     self.assertGlobMatches(
         ['bar/A.java', 'bar/B.java', 'baz/C.java', 'baz/D.java'],
         glob_internal(includes=['bar/*.java', 'baz/*.java'],
                       excludes=[],
                       project_root_relative_excludes=[],
                       include_dotfiles=False,
                       search_base=search_base,
                       project_root=self.fake_path('')))
示例#30
0
 def test_case_preserved(self):
     d = tempfile.mkdtemp()
     try:
         subdir = os.path.join(d, 'java')
         os.makedirs(subdir)
         open(os.path.join(subdir, 'Main.java'), 'w').close()
         self.assertEquals(
             [
                 os.path.join('java', 'Main.java'),
             ],
             glob_internal(
                 includes=['java/Main.java'],
                 excludes=[],
                 include_dotfiles=False,
                 search_base=Path(d)))
     finally:
         shutil.rmtree(d)
示例#31
0
文件: buck_test.py 项目: sdwilsh/buck
 def test_case_preserved(self):
     d = tempfile.mkdtemp()
     try:
         subdir = os.path.join(d, "java")
         os.makedirs(subdir)
         open(os.path.join(subdir, "Main.java"), "w").close()
         self.assertEquals(
             [os.path.join("java", "Main.java")],
             glob_internal(
                 includes=["java/Main.java"],
                 excludes=[],
                 project_root_relative_excludes=[],
                 include_dotfiles=False,
                 search_base=Path(d),
                 project_root=Path(d),
             ),
         )
     finally:
         shutil.rmtree(d)
示例#32
0
文件: buck_test.py 项目: sdwilsh/buck
 def do_glob(self, *args, **kwargs):
     # subclasses can override this to test a different glob implementation
     return glob_internal(*args, **kwargs)
示例#33
0
 def do_glob(self, *args, **kwargs):
     # subclasses can override this to test a different glob implementation
     return glob_internal(*args, **kwargs)