[go: up one dir, main page]

File: t261_info_note.py

package info (click to toggle)
uftrace 0.13-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 5,212 kB
  • sloc: ansic: 53,313; python: 9,846; makefile: 838; asm: 703; cpp: 602; sh: 560; javascript: 191
file content (69 lines) | stat: -rw-r--r-- 2,347 bytes parent folder | download
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
#!/usr/bin/env python

import subprocess as sp

from runtest import TestBase

class TestCase(TestBase):
    def __init__(self):
        TestBase.__init__(self, 'hello', """
# system information
# ==================
# program version     : v0.10-52-gca6c ( x86_64 dwarf python luajit tui perf sched dynamic )
# recorded on         : Mon Aug 16 07:05:58 2021
# cmdline             : uftrace record t-hello note.txt
# cpu info            : ARM64 (v8)
# number of cpus      : 2 / 2 (online / possible)
# memory info         : 0.1 / 1.8 GB (free / total)
# system load         : 1.21 / 1.12 / 1.13 (1 / 5 / 15 min)
# kernel version      : Linux 5.10.21-200.fc33.aarch64
# hostname            : fedora
# distro              : "Fedora 33 (Workstation Edition)
#
# process information
# ===================
# number of tasks     : 1
# task list           : 19331(t-hello)
# exe image           : /home/honggyu/work/uftrace/tests/t-hello
# build id            : bbe710345ed7b36f7c83085837cbf24b1fba00fb
# pattern             : regex
# exit status         : exited with code: 0
# elapsed time        : 0.008521454 sec
# cpu time            : 0.007 / 0.001 sec (sys / user)
# context switch      : 2 / 1 (voluntary / involuntary)
# max rss             : 4844 KB
# page fault          : 0 / 349 (major / minor)
# disk iops           : 0 / 8 (read / write)
#
# extra note information
# ======================
You can leave a note for the recorded data.""")

    def prerun(self, timeout):
        self.subcmd  = 'record'
        self.exearg += ' note.txt'
        record_cmd = self.runcmd()
        self.pr_debug('prerun command: ' + record_cmd)

        f = open('/dev/null')
        sp.call(record_cmd.split(), stdout=f, stderr=f)
        f.close()
        return TestBase.TEST_SUCCESS

    def setup(self):
        with open('uftrace.data/note.txt', 'w+') as f:
            f.write('You can leave a note for the recorded data.')
        self.subcmd = 'info'
        self.exearg = ''

    def sort(self, output):
        header_match = 0
        for ln in output.split('\n'):
            if header_match == 0:
                if ln.startswith('# extra note information'):
                    header_match = 1
            elif header_match == 1:
                header_match = 2
            elif header_match == 2:
                return ln
        return ''