Example #1
0
 def testMarksMostSpecific(self):
     includes = [
         add_header.Include('"cow.h"', 'include', [], None),
         add_header.Include('"cow_posix.h"', 'include', [], None),
     ]
     add_header.MarkPrimaryInclude(includes, 'cow_posix.cc')
     self.assertEqual(self._extract_primary_name(includes), '"cow_posix.h"')
Example #2
0
 def testPrimaryAndUserHeaders(self):
     primary_header = add_header.Include('"cow.h"', 'include', [], None)
     primary_header.is_primary_header = True
     source = add_header.SerializeIncludes([
         primary_header,
         add_header.Include('"moo.h"', 'include', [], None),
     ])
     self.assertEqual(source, ['#include "cow.h"', '', '#include "moo.h"'])
Example #3
0
 def testSystemAndUserHeaders(self):
     source = add_header.SerializeIncludes([
         add_header.Include('<stdlib.h>', 'include', [], None),
         add_header.Include('<map>', 'include', [], None),
         add_header.Include('"moo.h"', 'include', [], None),
     ])
     self.assertEqual(source, [
         '#include <stdlib.h>', '', '#include <map>', '', '#include "moo.h"'
     ])
Example #4
0
 def testPrimaryAndSystemHeaders(self):
     primary_header = add_header.Include('"cow.h"', 'include', [], None)
     primary_header.is_primary_header = True
     source = add_header.SerializeIncludes([
         primary_header,
         add_header.Include('<stdlib.h>', 'include', [], None),
         add_header.Include('<map>', 'include', [], None),
     ])
     self.assertEqual(source, [
         '#include "cow.h"', '', '#include <stdlib.h>', '', '#include <map>'
     ])
Example #5
0
 def testFullPathMatch(self):
     includes = [
         add_header.Include('"zfs/impl/cow.h"', 'include', [], None)
     ]
     add_header.MarkPrimaryInclude(includes, 'zfs/impl/cow.cc')
     self.assertEqual(self._extract_primary_name(includes),
                      '"zfs/impl/cow.h"')
Example #6
0
 def testSubstantiallySimilarPaths(self):
     includes = [
         add_header.Include('"farm/public/animal/cow.h"', 'include', [],
                            None)
     ]
     add_header.MarkPrimaryInclude(includes, 'farm/animal/cow.cc')
     self.assertEqual(self._extract_primary_name(includes),
                      '"farm/public/animal/cow.h"')
Example #7
0
 def testIncludeWithPreambleAndInlineCommentToSource(self):
     # Make sure whitespace is vaguely normalized too.
     self.assertEqual(
         add_header.Include('"moo.h"', 'include', [
             '// preamble with trailing space ',
         ], ' inline comment with trailing space ').ToSource(), [
             '// preamble with trailing space',
             '#include "moo.h"  // inline comment with trailing space'
         ])
Example #8
0
 def testFuzzymatchInReverse(self):
     includes = [add_header.Include('"cow.h"', 'include', [], None)]
     add_header.MarkPrimaryInclude(includes, 'cow_uitest_aura.cc')
     self.assertEqual(self._extract_primary_name(includes), '"cow.h"')
Example #9
0
 def testUserHeaders(self):
     source = add_header.SerializeIncludes([
         add_header.Include('"goat.h"', 'include', [], None),
         add_header.Include('"moo.h"', 'include', [], None),
     ])
     self.assertEqual(source, ['#include "goat.h"', '#include "moo.h"'])
Example #10
0
 def testNoMatchingSubdirectories(self):
     includes = [
         add_header.Include('"base/zfs/cow.h"', 'include', [], None)
     ]
     add_header.MarkPrimaryInclude(includes, 'base/animal/cow.cc')
     self.assertIsNone(self._extract_primary_name(includes))
Example #11
0
 def testTopmostDirectoryDoesNotMatch(self):
     includes = [
         add_header.Include('"animal/impl/cow.h"', 'include', [], None)
     ]
     add_header.MarkPrimaryInclude(includes, 'zfs/impl/cow.cc')
     self.assertIsNone(self._extract_primary_name(includes))
Example #12
0
 def testIncludeWithInlineCommentToSource(self):
     self.assertEqual(
         add_header.Include('"moo.h"', 'include', [],
                            ' inline comment').ToSource(),
         ['#include "moo.h"  // inline comment'])
Example #13
0
 def testIncludeWithPreambleToSource(self):
     self.assertEqual(
         add_header.Include('"moo.h"', 'include', ['// preamble'],
                            None).ToSource(),
         ['// preamble', '#include "moo.h"'])
Example #14
0
 def testFuzzyMatch(self):
     includes = [add_header.Include('"cow.h"', 'include', [], None)]
     add_header.MarkPrimaryInclude(includes, 'cow_linux_unittest.cc')
     self.assertEqual(self._extract_primary_name(includes), '"cow.h"')
Example #15
0
 def testSystemHeaderNotMatched(self):
     includes = [add_header.Include('<cow.h>', 'include', [], None)]
     add_header.MarkPrimaryInclude(includes, 'cow.cc')
     self.assertIsNone(self._extract_primary_name(includes))
Example #16
0
 def testNoOpOnHeader(self):
     includes = [add_header.Include('"cow.h"', 'include', [], None)]
     add_header.MarkPrimaryInclude(includes, 'cow.h')
     self.assertIsNone(self._extract_primary_name(includes))
Example #17
0
 def testImportToSource(self):
     self.assertEqual(
         add_header.Include('"moo.h"', 'import', [], None).ToSource(),
         ['#import "moo.h"'])
Example #18
0
 def testFuzzyMatchDoesntMatchDifferentSuffixes(self):
     includes = [add_header.Include('"cow_posix.h"', 'include', [], None)]
     add_header.MarkPrimaryInclude(includes, 'cow_windows.cc')
     self.assertIsNone(self._extract_primary_name(includes))
Example #19
0
 def testToSource(self):
     self.assertEqual(
         add_header.Include('<moo.h>', 'include', [], None).ToSource(),
         ['#include <moo.h>'])