Belle II Software
release-05-01-25
stop_on_error.py
1
#!/usr/bin/env python3
2
# -*- coding: utf-8 -*-
3
4
import
os
5
import
basf2
6
from
ROOT
import
Belle2
7
8
basf2.set_random_seed(
""
)
9
10
11
class
ErrorInInit
(basf2.Module):
12
"""test"""
13
14
def
initialize
(self):
15
"""reimplementation of Module::initialize()."""
16
basf2.B2ERROR(
"In module "
+ self.name())
17
18
19
class
ErrorInEvent
(basf2.Module):
20
"""test"""
21
22
def
event
(self):
23
"""reimplementation of Module::event()."""
24
# error level to check that this doesn't prevent execution
25
basf2.B2ERROR(
"In module "
+ self.name())
26
27
28
noerrors = basf2.Path()
29
noerrors.add_module(
'EventInfoSetter'
)
30
31
# no errors at all
32
basf2.process
(noerrors)
33
34
errorsinevent = basf2.Path()
35
errorsinevent.add_module(
'EventInfoSetter'
)
36
errorsinevent.add_module(
ErrorInEvent
())
37
38
# no errors before event processing
39
basf2.process
(errorsinevent)
40
41
# there were errors in event() of previous run
42
basf2.process
(noerrors)
43
basf2.process
(noerrors)
44
basf2.process
(errorsinevent)
45
# there were some more errors in event() of previous run
46
basf2.process
(noerrors)
47
48
# errors in initialize() -> fail
49
if
os.fork() == 0:
50
noerrors.add_module(
ErrorInInit
())
51
basf2.process
(noerrors)
52
else
:
53
assert
os.wait()[1] != 0
54
55
# errors before process() -> fail
56
if
os.fork() == 0:
57
basf2.B2ERROR(
"htns"
)
58
basf2.process
(noerrors)
59
else
:
60
assert
os.wait()[1] != 0
61
62
basf2.B2INFO(
'everything was OK.'
)
stop_on_error.ErrorInEvent
Definition:
stop_on_error.py:19
stop_on_error.ErrorInInit
Definition:
stop_on_error.py:11
basf2.process
def process(path, max_event=0)
Definition:
__init__.py:25
stop_on_error.ErrorInEvent.event
def event(self)
Definition:
stop_on_error.py:22
stop_on_error.ErrorInInit.initialize
def initialize(self)
Definition:
stop_on_error.py:14
framework
tests
stop_on_error.py
Generated on Fri Nov 5 2021 03:53:03 for Belle II Software by
1.8.17