Esempio n. 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 ) ) )
Esempio n. 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))
Esempio n. 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)))
Esempio n. 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))
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 ) )
Esempio n. 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))
Esempio n. 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))
  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 ) )
Esempio n. 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 ) )
Esempio n. 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 ) )
Esempio n. 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 ) )
Esempio n. 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 ) )
Esempio n. 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))
Esempio n. 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 ) )
Esempio n. 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))
Esempio n. 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 ) )
Esempio n. 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:])))
Esempio n. 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: ] ) ) )
Esempio n. 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:])))
Esempio n. 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))
Esempio n. 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 ) )
Esempio n. 22
0
def RemoveUnusedFlags_Passthrough_test():
  eq_( [ '-foo', '-bar' ],
       flags._RemoveUnusedFlags( [ '-foo', '-bar' ], 'file' ) )
Esempio n. 23
0
def RemoveUnusedFlags_Passthrough_test():
  eq_( [ '-foo', '-bar' ],
       flags._RemoveUnusedFlags( [ '-foo', '-bar' ],
                                 'file',
                                 _ShouldAllowWinStyleFlags(
                                   [ '-foo', '-bar' ] ) ) )
Esempio n. 24
0
def RemoveUnusedFlags_Passthrough_test():
    eq_(['-foo', '-bar'], flags._RemoveUnusedFlags(['-foo', '-bar'], 'file'))
Esempio n. 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: ]
                                 ) ) )
Esempio n. 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:])))
Esempio n. 27
0
def RemoveUnusedFlags_Passthrough_test():
    eq_(['-foo', '-bar'],
        flags._RemoveUnusedFlags(['-foo', '-bar'], 'file',
                                 _ShouldAllowWinStyleFlags(['-foo', '-bar'])))