Completed
Pull Request — master (#1470)
by Abdeali
01:28
created

bears.tests.python.PyLintBearTest.test_rcfile()   A

Complexity

Conditions 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %
Metric Value
cc 1
dl 0
loc 3
rs 10
1
import os
2
from queue import Queue
3
from shutil import which
4
from unittest.case import skipIf
5
6
from coalib.settings.Setting import Setting
7
from bears.tests.LocalBearTestHelper import LocalBearTestHelper
8
from bears.python.PyLintBear import PyLintBear
9
from coalib.settings.Section import Section
10
11
12
@skipIf(which('pylint') is None, 'PyLint is not installed')
13
class PyLintBearTest(LocalBearTestHelper):
14
15
    def setUp(self):
16
        self.section = Section("test section")
17
        self.uut = PyLintBear(self.section, Queue())
18
        self.test_file = os.path.join(os.path.dirname(__file__),
19
                                      "test_files",
20
                                      "pylint_test.py")
21
        self.rc_file = os.path.join(os.path.dirname(__file__),
22
                                    "test_files",
23
                                    "pylint_config")
24
25
    def test_run(self):
26
        self.section.append(Setting("pylint_disable", ""))
27
        self.check_validity(
28
            self.uut,
29
            [],  # Doesn't matter, pylint will parse the file
30
            self.test_file,
31
            valid=False)
32
33
        # This is a special case because there's only one result yielded.
34
        # This was a bug once where the last result got ignored.
35
        self.section.append(Setting("pylint_disable", "E0211,W0611,C0111"))
36
        self.check_validity(self.uut, [], self.test_file, valid=False)
37
38
        self.section.append(
39
            Setting("pylint_disable", "E0211,W0611,C0111,W0311"))
40
        self.check_validity(self.uut, [], self.test_file)
41
42
        self.section.append(Setting("pylint_disable", "all"))
43
        self.check_validity(self.uut, [], self.test_file)
44
45
        self.section.append(Setting("pylint_enable", "C0111"))
46
        self.check_validity(self.uut, [], self.test_file, valid=False)
47
48
        self.section.append(Setting("pylint_cli_options", "--disable=all"))
49
        self.check_validity(self.uut, [], self.test_file)
50
51
    def test_rcfile(self):
52
        self.section.append(Setting("pylint_rcfile", self.rc_file))
53
        self.check_validity(self.uut, [], self.test_file)
54