(code, strace_flags, prelude, cleanup)
| 146 | |
| 147 | |
| 148 | def get_events(code, strace_flags, prelude, cleanup): |
| 149 | # NOTE: The flush is currently required to prevent the prints from getting |
| 150 | # buffered and done all at once at exit |
| 151 | prelude = textwrap.dedent(prelude) |
| 152 | code = textwrap.dedent(code) |
| 153 | cleanup = textwrap.dedent(cleanup) |
| 154 | to_run = f""" |
| 155 | print("MARK prelude", flush=True) |
| 156 | {prelude} |
| 157 | print("MARK code", flush=True) |
| 158 | {code} |
| 159 | print("MARK cleanup", flush=True) |
| 160 | {cleanup} |
| 161 | print("MARK __shutdown", flush=True) |
| 162 | """ |
| 163 | trace = strace_python(to_run, strace_flags) |
| 164 | all_sections = trace.sections() |
| 165 | return all_sections['code'] |
| 166 | |
| 167 | |
| 168 | def get_syscalls(code, strace_flags, prelude="", cleanup="", |
no test coverage detected