/usr/share/clang/scan-build-py-4.0/tests/unit/test_shell.py is in clang-tools-4.0 1:4.0.1-10~deb9u2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # -*- 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.shell as sut
import unittest
class ShellTest(unittest.TestCase):
def test_encode_decode_are_same(self):
def test(value):
self.assertEqual(sut.encode(sut.decode(value)), value)
test("")
test("clang")
test("clang this and that")
def test_decode_encode_are_same(self):
def test(value):
self.assertEqual(sut.decode(sut.encode(value)), value)
test([])
test(['clang'])
test(['clang', 'this', 'and', 'that'])
test(['clang', 'this and', 'that'])
test(['clang', "it's me", 'again'])
test(['clang', 'some "words" are', 'quoted'])
def test_encode(self):
self.assertEqual(sut.encode(['clang', "it's me", 'again']),
'clang "it\'s me" again')
self.assertEqual(sut.encode(['clang', "it(s me", 'again)']),
'clang "it(s me" "again)"')
self.assertEqual(sut.encode(['clang', 'redirect > it']),
'clang "redirect > it"')
self.assertEqual(sut.encode(['clang', '-DKEY="VALUE"']),
'clang -DKEY=\\"VALUE\\"')
self.assertEqual(sut.encode(['clang', '-DKEY="value with spaces"']),
'clang -DKEY=\\"value with spaces\\"')
|