File: test_support.py

package info (click to toggle)
pypy 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 107,216 kB
  • sloc: python: 1,201,787; ansic: 62,419; asm: 5,169; cpp: 3,017; sh: 2,534; makefile: 545; xml: 243; lisp: 45; awk: 4
file content (42 lines) | stat: -rw-r--r-- 1,260 bytes parent folder | download | duplicates (7)
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
import pytest
from rpython.rlib import rvmprof
from rpython.rlib.rvmprof.test.support import FakeVMProf, fakevmprof

class TestFakeVMProf(object):

    def test_sampling(self):
        fake = FakeVMProf()
        assert not fake.is_sampling_enabled
        #
        fake.start_sampling()
        assert fake.is_sampling_enabled
        #
        fake.stop_sampling()
        fake.stop_sampling()
        assert not fake.is_sampling_enabled
        #
        fake.start_sampling()
        assert not fake.is_sampling_enabled
        fake.start_sampling()
        assert fake.is_sampling_enabled
        #
        pytest.raises(AssertionError, "fake.start_sampling()")
    
    def test_check_status(self):
        fake = FakeVMProf()
        fake.stop_sampling()
        pytest.raises(ValueError, "fake.check_status()")


class TestFixture(object):

    def test_fixture(self, fakevmprof):
        assert isinstance(fakevmprof, FakeVMProf)
        assert rvmprof._get_vmprof() is fakevmprof
        #
        # tweak sampling using the "real" API, and check that we actually used
        # the fake
        rvmprof.start_sampling()
        assert fakevmprof.is_sampling_enabled
        rvmprof.stop_sampling()
        assert not fakevmprof.is_sampling_enabled