summaryrefslogtreecommitdiff
path: root/tools/scan-build-py/tests/unit/test_command.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/scan-build-py/tests/unit/test_command.py')
-rw-r--r--tools/scan-build-py/tests/unit/test_command.py193
1 files changed, 0 insertions, 193 deletions
diff --git a/tools/scan-build-py/tests/unit/test_command.py b/tools/scan-build-py/tests/unit/test_command.py
deleted file mode 100644
index 9a6aae65c6..0000000000
--- a/tools/scan-build-py/tests/unit/test_command.py
+++ /dev/null
@@ -1,193 +0,0 @@
-# -*- coding: utf-8 -*-
-# The LLVM Compiler Infrastructure
-#
-# This file is distributed under the University of Illinois Open Source
-# License. See LICENSE.TXT for details.
-
-import libscanbuild.command as sut
-from . import fixtures
-import unittest
-
-
-class ParseTest(unittest.TestCase):
-
- def test_action(self):
- def test(expected, cmd):
- opts = sut.classify_parameters(cmd)
- self.assertEqual(expected, opts['action'])
-
- Link = sut.Action.Link
- test(Link, ['clang', 'source.c'])
-
- Compile = sut.Action.Compile
- test(Compile, ['clang', '-c', 'source.c'])
- test(Compile, ['clang', '-c', 'source.c', '-MF', 'source.d'])
-
- Preprocess = sut.Action.Ignored
- test(Preprocess, ['clang', '-E', 'source.c'])
- test(Preprocess, ['clang', '-c', '-E', 'source.c'])
- test(Preprocess, ['clang', '-c', '-M', 'source.c'])
- test(Preprocess, ['clang', '-c', '-MM', 'source.c'])
-
- def test_optimalizations(self):
- def test(cmd):
- opts = sut.classify_parameters(cmd)
- return opts.get('compile_options', [])
-
- self.assertEqual(['-O'], test(['clang', '-c', 'source.c', '-O']))
- self.assertEqual(['-O1'], test(['clang', '-c', 'source.c', '-O1']))
- self.assertEqual(['-Os'], test(['clang', '-c', 'source.c', '-Os']))
- self.assertEqual(['-O2'], test(['clang', '-c', 'source.c', '-O2']))
- self.assertEqual(['-O3'], test(['clang', '-c', 'source.c', '-O3']))
-
- def test_language(self):
- def test(cmd):
- opts = sut.classify_parameters(cmd)
- return opts.get('language')
-
- self.assertEqual(None, test(['clang', '-c', 'source.c']))
- self.assertEqual('c', test(['clang', '-c', 'source.c', '-x', 'c']))
- self.assertEqual('cpp', test(['clang', '-c', 'source.c', '-x', 'cpp']))
-
- def test_output(self):
- def test(cmd):
- opts = sut.classify_parameters(cmd)
- return opts.get('output')
-
- self.assertEqual(None, test(['clang', '-c', 'source.c']))
- self.assertEqual('source.o',
- test(['clang', '-c', '-o', 'source.o', 'source.c']))
-
- def test_arch(self):
- def test(cmd):
- opts = sut.classify_parameters(cmd)
- return opts.get('archs_seen', [])
-
- eq = self.assertEqual
-
- eq([], test(['clang', '-c', 'source.c']))
- eq(['mips'],
- test(['clang', '-c', 'source.c', '-arch', 'mips']))
- eq(['mips', 'i386'],
- test(['clang', '-c', 'source.c', '-arch', 'mips', '-arch', 'i386']))
-
- def test_input_file(self):
- def test(cmd):
- opts = sut.classify_parameters(cmd)
- return opts.get('files', [])
-
- eq = self.assertEqual
-
- eq(['src.c'], test(['clang', 'src.c']))
- eq(['src.c'], test(['clang', '-c', 'src.c']))
- eq(['s1.c', 's2.c'], test(['clang', '-c', 's1.c', 's2.c']))
-
- def test_include(self):
- def test(cmd):
- opts = sut.classify_parameters(cmd)
- return opts.get('compile_options', [])
-
- eq = self.assertEqual
-
- eq([], test(['clang', '-c', 'src.c']))
- eq(['-include', '/usr/local/include'],
- test(['clang', '-c', 'src.c', '-include', '/usr/local/include']))
- eq(['-I.'],
- test(['clang', '-c', 'src.c', '-I.']))
- eq(['-I', '.'],
- test(['clang', '-c', 'src.c', '-I', '.']))
- eq(['-I/usr/local/include'],
- test(['clang', '-c', 'src.c', '-I/usr/local/include']))
- eq(['-I', '/usr/local/include'],
- test(['clang', '-c', 'src.c', '-I', '/usr/local/include']))
- eq(['-I/opt', '-I', '/opt/otp/include'],
- test(['clang', '-c', 'src.c', '-I/opt', '-I', '/opt/otp/include']))
- eq(['-isystem', '/path'],
- test(['clang', '-c', 'src.c', '-isystem', '/path']))
- eq(['-isystem=/path'],
- test(['clang', '-c', 'src.c', '-isystem=/path']))
-
- def test_define(self):
- def test(cmd):
- opts = sut.classify_parameters(cmd)
- return opts.get('compile_options', [])
-
- eq = self.assertEqual
-
- eq([], test(['clang', '-c', 'src.c']))
- eq(['-DNDEBUG'],
- test(['clang', '-c', 'src.c', '-DNDEBUG']))
- eq(['-UNDEBUG'],
- test(['clang', '-c', 'src.c', '-UNDEBUG']))
- eq(['-Dvar1=val1', '-Dvar2=val2'],
- test(['clang', '-c', 'src.c', '-Dvar1=val1', '-Dvar2=val2']))
- eq(['-Dvar="val ues"'],
- test(['clang', '-c', 'src.c', '-Dvar="val ues"']))
-
- def test_ignored_flags(self):
- def test(flags):
- cmd = ['clang', 'src.o']
- opts = sut.classify_parameters(cmd + flags)
- self.assertEqual(['src.o'], opts.get('compile_options'))
-
- test([])
- test(['-lrt', '-L/opt/company/lib'])
- test(['-static'])
- test(['-Wnoexcept', '-Wall'])
- test(['-mtune=i386', '-mcpu=i386'])
-
- def test_compile_only_flags(self):
- def test(cmd):
- opts = sut.classify_parameters(cmd)
- return opts.get('compile_options', [])
-
- eq = self.assertEqual
-
- eq(['-std=C99'],
- test(['clang', '-c', 'src.c', '-std=C99']))
- eq(['-nostdinc'],
- test(['clang', '-c', 'src.c', '-nostdinc']))
- eq(['-isystem', '/image/debian'],
- test(['clang', '-c', 'src.c', '-isystem', '/image/debian']))
- eq(['-iprefix', '/usr/local'],
- test(['clang', '-c', 'src.c', '-iprefix', '/usr/local']))
- eq(['-iquote=me'],
- test(['clang', '-c', 'src.c', '-iquote=me']))
- eq(['-iquote', 'me'],
- test(['clang', '-c', 'src.c', '-iquote', 'me']))
-
- def test_compile_and_link_flags(self):
- def test(cmd):
- opts = sut.classify_parameters(cmd)
- return opts.get('compile_options', [])
-
- eq = self.assertEqual
-
- eq(['-fsinged-char'],
- test(['clang', '-c', 'src.c', '-fsinged-char']))
- eq(['-fPIC'],
- test(['clang', '-c', 'src.c', '-fPIC']))
- eq(['-stdlib=libc++'],
- test(['clang', '-c', 'src.c', '-stdlib=libc++']))
- eq(['--sysroot', '/'],
- test(['clang', '-c', 'src.c', '--sysroot', '/']))
- eq(['-isysroot', '/'],
- test(['clang', '-c', 'src.c', '-isysroot', '/']))
- eq([],
- test(['clang', '-c', 'src.c', '-fsyntax-only']))
- eq([],
- test(['clang', '-c', 'src.c', '-sectorder', 'a', 'b', 'c']))
-
- def test_detect_cxx_from_compiler_name(self):
- def test(cmd):
- opts = sut.classify_parameters(cmd)
- return opts.get('c++')
-
- eq = self.assertEqual
-
- eq(False, test(['cc', '-c', 'src.c']))
- eq(True, test(['c++', '-c', 'src.c']))
- eq(False, test(['clang', '-c', 'src.c']))
- eq(True, test(['clang++', '-c', 'src.c']))
- eq(False, test(['gcc', '-c', 'src.c']))
- eq(True, test(['g++', '-c', 'src.c']))