Exemple #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)))
Exemple #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,
                                ShouldAllowWinStyleFlags(expected +
                                                         to_remove)))

    eq_(
        expected,
        flags.RemoveUnusedFlags(
            expected[:1] + to_remove + expected[1:], filename,
            ShouldAllowWinStyleFlags(expected[:1] + to_remove + expected[1:])))
Exemple #3
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:])))
Exemple #4
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:])))
Exemple #5
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:])))
Exemple #6
0
def RemoveUnusedFlags_RemoveColor_test():
    expected = ['-foo', '-bar']
    to_remove = ['--fcolor-diagnostics']
    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:])))
Exemple #7
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))
Exemple #8
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:])))
Exemple #9
0
def RemoveUnusedFlags_Passthrough_test():
    eq_(['-foo', '-bar'],
        flags.RemoveUnusedFlags(['-foo', '-bar'], 'file',
                                ShouldAllowWinStyleFlags(['-foo', '-bar'])))