summaryrefslogtreecommitdiffstatshomepage
path: root/tests/misc/sys_settrace_subdir/sys_settrace_generic.py
blob: fcf034af254584c62fea2ac7d6b61eb1c9de7a4c (plain) (blame)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
print("Now comes the language constructions tests.")


# function
def test_func():
    def test_sub_func():
        print("test_function")

    test_sub_func()


# closure
def test_closure(msg):
    def make_closure():
        print(msg)

    return make_closure


# exception
def test_exception():
    try:
        raise Exception("test_exception")

    except Exception:
        pass

    finally:
        pass


# listcomp
def test_listcomp():
    print("test_listcomp", [x for x in range(3)])


# lambda
def test_lambda():
    func_obj_1 = lambda a, b: a + b
    print(func_obj_1(10, 20))


# import
def test_import():
    from sys_settrace_subdir import sys_settrace_importme

    sys_settrace_importme.dummy()
    sys_settrace_importme.saysomething()


# class
class TLClass:
    def method():
        pass

    pass


def test_class():
    class TestClass:
        __anynum = -9

        def method(self):
            print("test_class_method")
            self.__anynum += 1

        def prprty_getter(self):
            return self.__anynum

        def prprty_setter(self, what):
            self.__anynum = what

        prprty = property(prprty_getter, prprty_setter)

    cls = TestClass()
    cls.method()
    print("test_class_property", cls.prprty)
    cls.prprty = 12
    print("test_class_property", cls.prprty)


def run_tests():
    test_func()
    test_closure_inst = test_closure("test_closure")
    test_closure_inst()
    test_exception()
    test_listcomp()
    test_lambda()
    test_class()
    test_import()


print("And it's done!")