Ejemplo n.º 1
0
 def test_built(self):
     c = checker.Checker('<filename>', 0, lambda: None, (), {})
     f = self.f()
     f = f.include('b')
     f = f.include('a')
     self.assertEqual(f(c, self.d), mkD('a', 'b'))
     self.assertEqual(len(c.failed_checks), 0)
Ejemplo n.º 2
0
    def test_no_calls(self):
        c = checker.Checker('<filename>', 0, lambda: None, (), {})

        def body(_):
            pass

        body(c)
        self.assertEqual(len(c.failed_checks), 0)
Ejemplo n.º 3
0
    def test_success_call(self):
        c = checker.Checker('<filename>', 0, lambda: None, (), {})

        def body(check):
            check(True is True)

        body(c)
        self.assertEqual(len(c.failed_checks), 0)
Ejemplo n.º 4
0
 def test_built_extra_includes(self):
     f = self.f('a', 'b', 'x')
     c = checker.Checker('<filename>', 0, f, (), {})
     self.assertEqual(f(c, self.d), mkD('a', 'b'))
     self.assertEqual(len(c.failed_checks), 1)
     self.assertEqual(c.failed_checks[0].frames[-1].code,
                      'check((len(unused_includes) == 0))')
     self.assertEqual(c.failed_checks[0].frames[-1].varmap,
                      {'unused_includes': "{'x': ()}"})
Ejemplo n.º 5
0
    def test_simple_fail(self):
        c = checker.Checker('<filename>', 0, lambda: None, (), {})

        def body(check):
            check(True is False)

        body(c)
        self.assertEqual(len(c.failed_checks), 1)
        self.assertEqual(len(c.failed_checks[0].frames), 1)
        self.assertEqual(self.sanitize(c.failed_checks[0].frames[0]),
                         self.mk('body', 'check((True is False))', {}))
Ejemplo n.º 6
0
 def test_built_fields(self):
     c = checker.Checker('<filename>', 0, lambda: None, (), {})
     f = self.f()
     f = f.include('b', ['sub_b'])
     f = f.include('a', ['sub_a'])
     self.assertEqual(
         f(c, self.d),
         OrderedDict([
             ('a', mkS('a', 'sub_a')),
             ('b', mkS('b', 'sub_b')),
         ]))
     self.assertEqual(len(c.failed_checks), 0)
Ejemplo n.º 7
0
    def test_var_fail(self):
        c = checker.Checker('<filename>', 0, lambda: None, (), {})

        def body(check):
            val = True
            check(val is False)

        body(c)
        self.assertEqual(len(c.failed_checks), 1)
        self.assertEqual(len(c.failed_checks[0].frames), 1)
        self.assertEqual(
            self.sanitize(c.failed_checks[0].frames[0]),
            self.mk('body', 'check((val is False))', {'val': 'True'}))
Ejemplo n.º 8
0
 def test_re_high_limit(self):
     f = self.f().include_re('b\.', at_most=1)
     c = checker.Checker('<filename>', 0, f, (), {})
     self.assertEqual(f(c, self.d), mkD('b.sub', 'b.sub2'))
     self.assertEqual(len(c.failed_checks), 1)
     self.assertEqual(c.failed_checks[0].frames[-1].code,
                      'check((re_usage_count[regex] <= at_most))')
     self.assertEqual(
         c.failed_checks[0].frames[-1].varmap, {
             'at_most': '1',
             're_usage_count[regex]': '2',
             'regex': "re.compile('b\\\\.')"
         })
Ejemplo n.º 9
0
    def test_dict_lookup(self):
        c = checker.Checker('<filename>', 0, lambda: None, (), {})

        def body(check):
            targ = {'a': {'sub': 'b'}, 'c': 'd'}
            check('cow' in targ['a'])

        body(c)
        self.assertEqual(len(c.failed_checks), 1)
        self.assertEqual(len(c.failed_checks[0].frames), 1)
        self.assertEqual(
            self.sanitize(c.failed_checks[0].frames[0]),
            self.mk('body', "check(('cow' in targ['a']))",
                    {"targ['a'].keys()": "['sub']"}))
Ejemplo n.º 10
0
    def test_dict_membership(self):
        c = checker.Checker('<filename>', 0, lambda: None, (), {})

        def body(check):
            targ = {'a': 'b', 'c': 'd'}
            check('a' not in targ)

        body(c)
        self.assertEqual(len(c.failed_checks), 1)
        self.assertEqual(len(c.failed_checks[0].frames), 1)
        self.assertEqual(
            self.sanitize(c.failed_checks[0].frames[0]),
            self.mk('body', "check(('a' not in targ))",
                    {'targ.keys()': "['a', 'c']"}))
Ejemplo n.º 11
0
    def test_simple_fail_multiline_multistatement(self):
        c = checker.Checker('<filename>', 0, lambda: None, (), {})

        def body(check):
            other = 'thing'
            falsey = lambda: False
            check(True is falsey())
            other  # pylint: disable=pointless-statement

        body(c)
        self.assertEqual(len(c.failed_checks), 1)
        self.assertEqual(len(c.failed_checks[0].frames), 1)
        self.assertEqual(
            self.sanitize(c.failed_checks[0].frames[0]),
            self.mk('body', 'check((True is falsey())); other',
                    {'other': "'thing'"}))
Ejemplo n.º 12
0
    def test_dict_lookup_nest(self):
        c = checker.Checker('<filename>', 0, lambda: None, (), {})

        def body(check):
            sub = 'sub'
            targ = {'a': {'sub': 'whee'}, 'c': 'd'}
            check('me' == targ['a'][sub])

        body(c)
        self.assertEqual(len(c.failed_checks), 1)
        self.assertEqual(len(c.failed_checks[0].frames), 1)
        self.assertEqual(
            self.sanitize(c.failed_checks[0].frames[0]),
            self.mk('body', "check(('me' == targ['a'][sub]))", {
                "targ['a'][sub]": "'whee'",
                'sub': "'sub'"
            }))
Ejemplo n.º 13
0
    def test_lambda_call(self):
        c = checker.Checker('<filename>', 0, lambda: None, (), {})

        def body(check):
            vals = ['whee', 'sub']
            targ = {'a': {'sub': 'whee'}, 'c': 'd'}
            map(lambda v: check(v in targ['a']), vals)

        body(c)
        self.assertEqual(len(c.failed_checks), 1)
        self.assertEqual(len(c.failed_checks[0].frames), 2)
        self.assertEqual(
            self.sanitize(c.failed_checks[0].frames[0]),
            self.mk('body', "map((lambda v: check((v in targ['a']))), vals)",
                    None))
        self.assertEqual(
            self.sanitize(c.failed_checks[0].frames[1]),
            self.mk('<lambda>',
                    "map((lambda v: check((v in targ['a']))), vals)", {
                        "targ['a'].keys()": "['sub']",
                        'v': "'whee'"
                    }))
Ejemplo n.º 14
0
    def test_fail_nested_statement(self):
        c = checker.Checker('<filename>', 0, lambda: None, (), {})

        def body(check):
            other = 'thing'
            falsey = lambda: False
            if True:
                while True:
                    try:
                        check(True is falsey())
                        other  # pylint: disable=pointless-statement
                        break
                    except Exception:
                        pass

        body(c)
        self.assertEqual(len(c.failed_checks), 1)
        self.assertEqual(len(c.failed_checks[0].frames), 1)
        self.assertEqual(
            self.sanitize(c.failed_checks[0].frames[0]),
            self.mk('body', 'check((True is falsey())); other',
                    {'other': "'thing'"}))
Ejemplo n.º 15
0
 def test_re(self):
     f = self.f().include_re('b\.')
     c = checker.Checker('<filename>', 0, f, (), {})
     self.assertEqual(f(c, self.d), mkD('b.sub', 'b.sub2'))
     self.assertEqual(len(c.failed_checks), 0)
Ejemplo n.º 16
0
 def expect_fails(self, num_fails, func, *args, **kwargs):
     c = checker.Checker('<filename>', 0, func, args, kwargs)
     func(c, self.d, *args, **kwargs)
     self.assertEqual(len(c.failed_checks), num_fails)
Ejemplo n.º 17
0
 def test_basic(self):
     c = checker.Checker('<filename>', 0, lambda: None, (), {})
     self.assertEqual(self.f('a', 'b')(c, self.d), mkD('a', 'b'))
     self.assertEqual(len(c.failed_checks), 0)