Пример #1
0
def RemoveUnusedFlags_MultipleDriverModeFlagsWindows_test():
  expected = [ 'g++',
               '--driver-mode=cl',
               '/Zi',
               '-foo',
               '--driver-mode=gcc',
               '--driver-mode=cl',
               'include_dir' ]
  to_remove = [ 'unrelated_file', '/c' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove,
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected + to_remove ) ) )
  eq_( expected,
       flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected[ :1 ] + to_remove + expected[ 1: ]
                                 ) ) )

  flags_expected = [ '/usr/bin/g++', '--driver-mode=cl', '--driver-mode=gcc' ]
  flags_all = [ '/usr/bin/g++',
                '/Zi',
                '--driver-mode=cl',
                '/foo',
                '--driver-mode=gcc' ]
  filename = 'file'

  eq_( flags_expected, flags._RemoveUnusedFlags( flags_all,
                                                 filename,
                                                 _ShouldAllowWinStyleFlags(
                                                   flags_all ) ) )
Пример #2
0
def RemoveUnusedFlags_RemoveFlagWithoutPrecedingDashFlag_test():
    expected = ['g++', '-foo', '-x', 'c++', '-bar', 'include_dir']
    to_remove = ['unrelated_file']
    filename = 'file'

    eq_(expected,
        flags._RemoveUnusedFlags(expected + to_remove, filename, False))

    eq_(
        expected,
        flags._RemoveUnusedFlags(expected[:1] + to_remove + expected[1:],
                                 filename, False))
    expected = [
        'g++', '-foo', '--driver-mode=cl', '-xc++', '-bar', 'include_dir',
        '/I', 'include_dir_other'
    ]
    to_remove = ['..']
    filename = 'file'

    eq_(expected, flags._RemoveUnusedFlags(expected + to_remove, filename,
                                           True))

    eq_(
        expected,
        flags._RemoveUnusedFlags(expected[:1] + to_remove + expected[1:],
                                 filename, True))
Пример #3
0
def RemoveUnusedFlags_MultipleDriverModeFlagsWindows_test():
    expected = [
        'g++', '--driver-mode=cl', '/Zi', '-foo', '--driver-mode=gcc',
        '--driver-mode=cl', 'include_dir'
    ]
    to_remove = ['unrelated_file', '/c']
    filename = 'file'

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected + to_remove, filename,
            _ShouldAllowWinStyleFlags(expected + to_remove)))
    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[1:])))

    flags_expected = ['/usr/bin/g++', '--driver-mode=cl', '--driver-mode=gcc']
    flags_all = [
        '/usr/bin/g++', '/Zi', '--driver-mode=cl', '/foo', '--driver-mode=gcc'
    ]
    filename = 'file'

    eq_(
        flags_expected,
        flags._RemoveUnusedFlags(flags_all, filename,
                                 _ShouldAllowWinStyleFlags(flags_all)))
Пример #4
0
def RemoveUnusedFlags_RemoveFlagWithoutPrecedingDashFlag_test():
    expected = ['g++', '-foo', '-x', 'c++', '-bar', 'include_dir']
    to_remove = ['unrelated_file']
    filename = 'file'

    eq_(expected, flags._RemoveUnusedFlags(expected + to_remove, filename))

    eq_(
        expected,
        flags._RemoveUnusedFlags(expected[:1] + to_remove + expected[1:],
                                 filename))
Пример #5
0
def RemoveUnusedFlags_RemoveFlagWithoutPrecedingDashFlag_test():
  expected = [ 'g++', '-foo', '-x', 'c++', '-bar', 'include_dir' ]
  to_remove = [ 'unrelated_file' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove, filename ) )

  eq_( expected,
        flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                  filename ) )
Пример #6
0
def RemoveUnusedFlags_RemoveColor_test():
    expected = ['-foo', '-bar']
    to_remove = ['--fcolor-diagnostics']
    filename = 'file'

    eq_(expected, flags._RemoveUnusedFlags(expected + to_remove, filename))

    eq_(expected, flags._RemoveUnusedFlags(to_remove + expected, filename))

    eq_(
        expected,
        flags._RemoveUnusedFlags(expected[:1] + to_remove + expected[-1:],
                                 filename))
Пример #7
0
def RemoveUnusedFlags_RemoveMP_test():
    expected = ['-foo', '-bar']
    to_remove = ['-MP']
    filename = 'file'

    eq_(expected, flags._RemoveUnusedFlags(expected + to_remove, filename))

    eq_(expected, flags._RemoveUnusedFlags(to_remove + expected, filename))

    eq_(
        expected,
        flags._RemoveUnusedFlags(expected[:1] + to_remove + expected[-1:],
                                 filename))
Пример #8
0
  def tester( flag ):
    expected = [ 'clang', flag, '/foo/bar', '-isystem/zoo/goo' ]

    eq_( expected,
         flags._RemoveUnusedFlags( expected + to_remove, filename ) )

    eq_( expected,
         flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                   filename ) )

    eq_( expected + expected[ 1: ],
         flags._RemoveUnusedFlags( expected + to_remove + expected[ 1: ],
                                   filename ) )
Пример #9
0
  def tester( flag ):
    expected = [ 'clang', flag, '/foo/bar', '-isystem/zoo/goo' ]

    eq_( expected,
         flags._RemoveUnusedFlags( expected + to_remove, filename ) )

    eq_( expected,
         flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                   filename ) )

    eq_( expected + expected[ 1: ],
         flags._RemoveUnusedFlags( expected + to_remove + expected[ 1: ],
                                   filename ) )
Пример #10
0
def RemoveUnusedFlags_RemoveColor_test():
  expected = [ '-foo', '-bar' ]
  to_remove = [ '--fcolor-diagnostics' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove, filename ) )

  eq_( expected,
       flags._RemoveUnusedFlags( to_remove + expected, filename ) )

  eq_( expected,
       flags._RemoveUnusedFlags(
         expected[ :1 ] + to_remove + expected[ -1: ], filename ) )
Пример #11
0
def RemoveUnusedFlags_RemoveDashO_test():
  expected = [ '-foo', '-bar' ]
  to_remove = [ '-o', 'output_name' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove, filename, False ) )

  eq_( expected,
       flags._RemoveUnusedFlags( to_remove + expected, filename, False ) )

  eq_( expected,
       flags._RemoveUnusedFlags(
         expected[ :1 ] + to_remove + expected[ -1: ], filename, False ) )
Пример #12
0
def RemoveUnusedFlags_RemoveDashC_test():
  expected = [ '-foo', '-bar' ]
  to_remove = [ '-c' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove, filename ) )

  eq_( expected,
       flags._RemoveUnusedFlags( to_remove + expected, filename ) )

  eq_( expected,
       flags._RemoveUnusedFlags(
         expected[ :1 ] + to_remove + expected[ -1: ], filename ) )
Пример #13
0
def RemoveUnusedFlags_RemoveDashO_test():
    expected = ['-foo', '-bar']
    to_remove = ['-o', 'output_name']
    filename = 'file'

    eq_(expected,
        flags._RemoveUnusedFlags(expected + to_remove, filename, False))

    eq_(expected,
        flags._RemoveUnusedFlags(to_remove + expected, filename, False))

    eq_(
        expected,
        flags._RemoveUnusedFlags(expected[:1] + to_remove + expected[-1:],
                                 filename, False))
Пример #14
0
def RemoveUnusedFlags_RemoveFilename_test():
  expected = [ 'foo', '-bar' ]
  to_remove = [ 'file' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove, filename, False ) )

  eq_( expected,
       flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                 filename, False ) )

  eq_( expected,
       flags._RemoveUnusedFlags(
         expected[ :1 ] + to_remove + expected[ -1: ], filename, False ) )
Пример #15
0
def RemoveUnusedFlags_RemoveFilename_test():
    expected = ['foo', '-bar']
    to_remove = ['file']
    filename = 'file'

    eq_(expected,
        flags._RemoveUnusedFlags(expected + to_remove, filename, False))

    eq_(
        expected,
        flags._RemoveUnusedFlags(expected[:1] + to_remove + expected[1:],
                                 filename, False))

    eq_(
        expected,
        flags._RemoveUnusedFlags(expected[:1] + to_remove + expected[-1:],
                                 filename, False))
Пример #16
0
def RemoveUnusedFlags_RemoveFlagWithoutPrecedingDashFlag_test():
  expected = [ 'g++', '-foo', '-x', 'c++', '-bar', 'include_dir' ]
  to_remove = [ 'unrelated_file' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove, filename, False ) )

  eq_( expected,
       flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                 filename, False ) )
  expected = [ 'g++', '-foo', '--driver-mode=cl', '-xc++', '-bar',
               'include_dir', '/I', 'include_dir_other' ]
  to_remove = [ '..' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove, filename, True ) )

  eq_( expected,
       flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                 filename, True ) )
Пример #17
0
def RemoveUnusedFlags_RemoveDashO_test():
    expected = ['-foo', '-bar']
    to_remove = ['-o', 'output_name']
    filename = 'file'

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected + to_remove, filename,
            _ShouldAllowWinStyleFlags(expected + to_remove)))

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            to_remove + expected, filename,
            _ShouldAllowWinStyleFlags(to_remove + expected)))

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[-1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[-1:])))
Пример #18
0
def RemoveUnusedFlags_RemoveMP_test():
  expected = [ '-foo', '-bar' ]
  to_remove = [ '-MP' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove,
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected + to_remove ) ) )

  eq_( expected,
       flags._RemoveUnusedFlags( to_remove + expected,
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   to_remove + expected ) ) )

  eq_( expected,
       flags._RemoveUnusedFlags(
         expected[ :1 ] + to_remove + expected[ -1: ],
         filename,
         _ShouldAllowWinStyleFlags(
           expected[ :1 ] + to_remove + expected[ -1: ] ) ) )
Пример #19
0
def RemoveUnusedFlags_RemoveFilename_test():
    expected = ['foo', '-bar']
    to_remove = ['file']
    filename = 'file'

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected + to_remove, filename,
            _ShouldAllowWinStyleFlags(expected + to_remove)))

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[1:])))

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[-1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[-1:])))
Пример #20
0
def RemoveUnusedFlags_Depfiles_test():
    full_flags = [
        '/bin/clang', '-x', 'objective-c', '-arch', 'armv7', '-MMD', '-MT',
        'dependencies', '-MF', 'file', '--serialize-diagnostics', 'diagnostics'
    ]

    expected = [
        '/bin/clang',
        '-x',
        'objective-c',
        '-arch',
        'armv7',
    ]

    assert_that(flags._RemoveUnusedFlags(full_flags, 'test.m'),
                contains(*expected))
Пример #21
0
def RemoveUnusedFlags_Depfiles_test():
  full_flags = [
    '/bin/clang',
    '-x', 'objective-c',
    '-arch', 'armv7',
    '-MMD',
    '-MT', 'dependencies',
    '-MF', 'file',
    '--serialize-diagnostics', 'diagnostics'
  ]

  expected = [
    '/bin/clang',
    '-x', 'objective-c',
    '-arch', 'armv7',
  ]

  assert_that( flags._RemoveUnusedFlags( full_flags, 'test.m' ),
               contains( *expected ) )
Пример #22
0
def RemoveUnusedFlags_Passthrough_test():
  eq_( [ '-foo', '-bar' ],
       flags._RemoveUnusedFlags( [ '-foo', '-bar' ], 'file' ) )
Пример #23
0
def RemoveUnusedFlags_Passthrough_test():
  eq_( [ '-foo', '-bar' ],
       flags._RemoveUnusedFlags( [ '-foo', '-bar' ],
                                 'file',
                                 _ShouldAllowWinStyleFlags(
                                   [ '-foo', '-bar' ] ) ) )
Пример #24
0
def RemoveUnusedFlags_Passthrough_test():
    eq_(['-foo', '-bar'], flags._RemoveUnusedFlags(['-foo', '-bar'], 'file'))
Пример #25
0
def RemoveUnusedFlags_RemoveStrayFilenames_CLDriver_test():
  # Only --driver-mode=cl specified.
  expected = [ 'g++', '-foo', '--driver-mode=cl', '-xc++', '-bar',
               'include_dir', '/I', 'include_dir_other' ]
  to_remove = [ '..' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove,
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected + to_remove ) ) )

  eq_( expected,
       flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected[ :1 ] + to_remove + expected[ 1: ]
                                 ) ) )

  # clang-cl and --driver-mode=cl
  expected = [ 'clang-cl.exe', '-foo', '--driver-mode=cl', '-xc++', '-bar',
               'include_dir', '/I', 'include_dir_other' ]
  to_remove = [ 'unrelated_file' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove,
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected + to_remove
                                 ) ) )

  eq_( expected,
       flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected[ :1 ] + to_remove + expected[ 1: ]
                                 ) ) )

  # clang-cl only
  expected = [ 'clang-cl.exe', '-foo', '-xc++', '-bar',
               'include_dir', '/I', 'include_dir_other' ]
  to_remove = [ 'unrelated_file' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove,
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected + to_remove ) ) )

  eq_( expected,
      flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                filename,
                                _ShouldAllowWinStyleFlags(
                                  expected[ :1 ] + to_remove + expected[ 1: ]
                                ) ) )

  # clang-cl and --driver-mode=gcc
  expected = [ 'clang-cl', '-foo', '-xc++', '--driver-mode=gcc',
               '-bar', 'include_dir' ]
  to_remove = [ 'unrelated_file', '/I', 'include_dir_other' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove,
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected + to_remove ) ) )
  eq_( expected,
       flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected[ :1 ] + to_remove + expected[ 1: ]
                                 ) ) )


  # cl only with extension
  expected = [ 'cl.EXE', '-foo', '-xc++', '-bar', 'include_dir' ]
  to_remove = [ '-c', 'path\\to\\unrelated_file' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove,
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected + to_remove ) ) )
  eq_( expected,
       flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected[ :1 ] + to_remove + expected[ 1: ]
                                 ) ) )

  # cl path with Windows separators
  expected = [ 'path\\to\\cl', '-foo', '-xc++', '/I', 'path\\to\\include\\dir' ]
  to_remove = [ '-c', 'path\\to\\unrelated_file' ]
  filename = 'file'

  eq_( expected,
       flags._RemoveUnusedFlags( expected + to_remove,
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected + to_remove ) ) )
  eq_( expected,
       flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected[ :1 ] + to_remove + expected[ 1: ]
                                 ) ) )
Пример #26
0
def RemoveUnusedFlags_RemoveStrayFilenames_CLDriver_test():
    # Only --driver-mode=cl specified.
    expected = [
        'g++', '-foo', '--driver-mode=cl', '-xc++', '-bar', 'include_dir',
        '/I', 'include_dir_other'
    ]
    to_remove = ['..']
    filename = 'file'

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected + to_remove, filename,
            _ShouldAllowWinStyleFlags(expected + to_remove)))

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[1:])))

    # clang-cl and --driver-mode=cl
    expected = [
        'clang-cl.exe', '-foo', '--driver-mode=cl', '-xc++', '-bar',
        'include_dir', '/I', 'include_dir_other'
    ]
    to_remove = ['unrelated_file']
    filename = 'file'

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected + to_remove, filename,
            _ShouldAllowWinStyleFlags(expected + to_remove)))

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[1:])))

    # clang-cl only
    expected = [
        'clang-cl.exe', '-foo', '-xc++', '-bar', 'include_dir', '/I',
        'include_dir_other'
    ]
    to_remove = ['unrelated_file']
    filename = 'file'

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected + to_remove, filename,
            _ShouldAllowWinStyleFlags(expected + to_remove)))

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[1:])))

    # clang-cl and --driver-mode=gcc
    expected = [
        'clang-cl', '-foo', '-xc++', '--driver-mode=gcc', '-bar', 'include_dir'
    ]
    to_remove = ['unrelated_file', '/I', 'include_dir_other']
    filename = 'file'

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected + to_remove, filename,
            _ShouldAllowWinStyleFlags(expected + to_remove)))
    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[1:])))

    # cl only with extension
    expected = ['cl.EXE', '-foo', '-xc++', '-bar', 'include_dir']
    to_remove = ['-c', 'path\\to\\unrelated_file']
    filename = 'file'

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected + to_remove, filename,
            _ShouldAllowWinStyleFlags(expected + to_remove)))
    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[1:])))

    # cl path with Windows separators
    expected = [
        'path\\to\\cl', '-foo', '-xc++', '/I', 'path\\to\\include\\dir'
    ]
    to_remove = ['-c', 'path\\to\\unrelated_file']
    filename = 'file'

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected + to_remove, filename,
            _ShouldAllowWinStyleFlags(expected + to_remove)))
    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[1:])))
Пример #27
0
def RemoveUnusedFlags_Passthrough_test():
    eq_(['-foo', '-bar'],
        flags._RemoveUnusedFlags(['-foo', '-bar'], 'file',
                                 _ShouldAllowWinStyleFlags(['-foo', '-bar'])))