Exemplo 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 ) ) )
Exemplo n.º 2
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)))
Exemplo n.º 3
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,
            _ShouldAllowWinStyleFlags(expected + to_remove)))

    eq_(
        expected,
        flags._RemoveUnusedFlags(
            expected[:1] + to_remove + expected[1:], filename,
            _ShouldAllowWinStyleFlags(expected[:1] + to_remove +
                                      expected[1:])))
Exemplo 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,
                                 _ShouldAllowWinStyleFlags(
                                   expected + to_remove ) ) )

  eq_( expected,
       flags._RemoveUnusedFlags( expected[ :1 ] + to_remove + expected[ 1: ],
                                 filename,
                                 _ShouldAllowWinStyleFlags(
                                   expected[ :1 ] + to_remove + expected[ 1: ]
                                 ) ) )
Exemplo n.º 5
0
def AddLanguageFlagWhenAppropriate_CLDriver_Passthrough_test():
  eq_( [ '-foo', '-bar', '--driver-mode=cl' ],
       flags._AddLanguageFlagWhenAppropriate( [ '-foo',
                                                '-bar',
                                                '--driver-mode=cl' ],
                                              _ShouldAllowWinStyleFlags(
                                                [ '-foo',
                                                  '-bar',
                                                  '--driver-mode=cl' ] ) ) )
Exemplo n.º 6
0
def _AddLanguageFlagWhenAppropriateTester(compiler, language_flag=[]):
    to_removes = [[], ['/usr/bin/ccache'], ['some_command', 'another_command']]
    expected = ['-foo', '-bar']

    for to_remove in to_removes:
        eq_([compiler] + language_flag + expected,
            flags._AddLanguageFlagWhenAppropriate(
                to_remove + [compiler] + expected,
                _ShouldAllowWinStyleFlags(to_remove + [compiler] + expected)))
Exemplo n.º 7
0
def AddLanguageFlagWhenAppropriate_CLDriver_Passthrough_test():
  eq_( [ '-foo', '-bar', '--driver-mode=cl' ],
       flags._AddLanguageFlagWhenAppropriate( [ '-foo',
                                                '-bar',
                                                '--driver-mode=cl' ],
                                              _ShouldAllowWinStyleFlags(
                                                [ '-foo',
                                                  '-bar',
                                                  '--driver-mode=cl' ] ) ) )
Exemplo n.º 8
0
    def tester(flag):
        expected = ['clang', flag, '/foo/bar', '-isystem/zoo/goo']

        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 + expected[1:],
            flags._RemoveUnusedFlags(
                expected + to_remove + expected[1:], filename,
                _ShouldAllowWinStyleFlags(expected + to_remove +
                                          expected[1:])))
Exemplo n.º 9
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:])))
Exemplo n.º 10
0
  def tester( flag ):
    expected = [ 'clang', flag, '/foo/bar', '-isystem/zoo/goo' ]

    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 + expected[ 1: ],
         flags._RemoveUnusedFlags( expected + to_remove + expected[ 1: ],
                                   filename,
                                   _ShouldAllowWinStyleFlags(
                                     expected + to_remove + expected[ 1: ]
                                   ) ) )
Exemplo n.º 11
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: ] ) ) )
Exemplo n.º 12
0
def _AddLanguageFlagWhenAppropriateTester( compiler, language_flag = [] ):
  to_removes = [
    [],
    [ '/usr/bin/ccache' ],
    [ 'some_command', 'another_command' ]
  ]
  expected = [ '-foo', '-bar' ]

  for to_remove in to_removes:
    eq_( [ compiler ] + language_flag + expected,
         flags._AddLanguageFlagWhenAppropriate( to_remove + [ compiler ] +
                                                expected,
                                                _ShouldAllowWinStyleFlags(
                                                  to_remove + [ compiler ] +
                                                  expected ) ) )
Exemplo n.º 13
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',
                                 _ShouldAllowWinStyleFlags(full_flags)),
        contains(*expected))
Exemplo n.º 14
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',
                                         _ShouldAllowWinStyleFlags(
                                           full_flags ) ),
               contains( *expected ) )
Exemplo n.º 15
0
def AddLanguageFlagWhenAppropriate_Passthrough_test():
  eq_( [ '-foo', '-bar' ],
       flags._AddLanguageFlagWhenAppropriate( [ '-foo', '-bar' ],
                                              _ShouldAllowWinStyleFlags(
                                                [ '-foo', '-bar' ] ) ) )
Exemplo n.º 16
0
def AddLanguageFlagWhenAppropriate_Passthrough_test():
    eq_(['-foo', '-bar'],
        flags._AddLanguageFlagWhenAppropriate(['-foo', '-bar'],
                                              _ShouldAllowWinStyleFlags(
                                                  ['-foo', '-bar'])))
Exemplo n.º 17
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:])))
Exemplo n.º 18
0
def RemoveUnusedFlags_Passthrough_test():
  eq_( [ '-foo', '-bar' ],
       flags._RemoveUnusedFlags( [ '-foo', '-bar' ],
                                 'file',
                                 _ShouldAllowWinStyleFlags(
                                   [ '-foo', '-bar' ] ) ) )
Exemplo n.º 19
0
def RemoveUnusedFlags_Passthrough_test():
    eq_(['-foo', '-bar'],
        flags._RemoveUnusedFlags(['-foo', '-bar'], 'file',
                                 _ShouldAllowWinStyleFlags(['-foo', '-bar'])))
Exemplo n.º 20
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: ]
                                 ) ) )