Skip to content

Commit 0f92412

Browse files
authored
Merge pull request #16 from ZLLentz/fix-tests
TST: Fix tests segfault
2 parents bf11aa2 + 103f56b commit 0f92412

File tree

2 files changed

+26
-22
lines changed

2 files changed

+26
-22
lines changed

test/test_psp.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,9 @@ def setup_pv(pvname, connect=True):
2020
return pv
2121

2222

23-
def test_server_start(server):
24-
pass
25-
26-
2723
@pytest.mark.timeout(10)
2824
@pytest.mark.parametrize('pvname', test_pvs)
29-
def test_connect_and_disconnect(pvname):
25+
def test_connect_and_disconnect(server, pvname):
3026
logger.debug('test_create_and_clear_channel %s', pvname)
3127
pv = setup_pv(pvname)
3228
assert pv.isconnected
@@ -35,16 +31,17 @@ def test_connect_and_disconnect(pvname):
3531

3632
@pytest.mark.timeout(10)
3733
@pytest.mark.parametrize('pvname', test_pvs)
38-
def test_get(pvname):
34+
def test_get(server, pvname):
3935
logger.debug('test_get_data %s', pvname)
4036
pv = setup_pv(pvname)
4137
value = pv.get()
4238
assert value is not None
39+
pv.disconnect()
4340

4441

4542
@pytest.mark.timeout(10)
4643
@pytest.mark.parametrize('pvname', test_pvs)
47-
def test_put_get(pvname):
44+
def test_put_get(server, pvname):
4845
logger.debug('test_put_get %s', pvname)
4946
pv = setup_pv(pvname)
5047
old_value = pv.get()
@@ -59,11 +56,12 @@ def test_put_get(pvname):
5956
logger.debug('caput %s %s', pvname, new_value)
6057
pv.put(new_value, timeout=1.0)
6158
assert pv.get() == new_value
59+
pv.disconnect()
6260

6361

6462
@pytest.mark.timeout(10)
6563
@pytest.mark.parametrize('pvname', test_pvs)
66-
def test_monitor(pvname):
64+
def test_monitor(server, pvname):
6765
logger.debug('test_subscribe %s', pvname)
6866
pv = setup_pv(pvname)
6967
old_value = pv.get()
@@ -83,22 +81,24 @@ def test_monitor(pvname):
8381
time.sleep(0.1)
8482
n += 1
8583
assert pv.value == new_value
84+
pv.disconnect()
8685

8786

8887
@pytest.mark.timeout(10)
8988
@pytest.mark.parametrize('pvname', test_pvs)
90-
def test_misc(pvname):
89+
def test_misc(server, pvname):
9190
logger.debug('test_misc %s', pvname)
9291
pv = setup_pv(pvname)
9392
assert isinstance(pv.host(), str)
9493
assert isinstance(pv.state(), int)
9594
assert isinstance(pv.count, int)
9695
assert isinstance(pv.type(), str)
9796
assert isinstance(pv.rwaccess(), int)
97+
pv.disconnect()
9898

9999

100100
@pytest.mark.timeout(10)
101-
def test_waveform():
101+
def test_waveform(server):
102102
logger.debug('test_waveform')
103103
pv = setup_pv(pvbase + ":WAVE")
104104
# Do as a tuple
@@ -111,17 +111,19 @@ def test_waveform():
111111
val = pv.get()
112112
assert isinstance(val, np.ndarray)
113113
assert len(val) == pv.count
114+
pv.disconnect()
114115

115116

116117
@pytest.mark.timeout(10)
117-
def test_threads():
118+
def test_threads(server):
118119
logger.debug('test_threads')
119120

120121
def some_thread_thing(pvname):
121122
psp.utils.ensure_context()
122123
pv = setup_pv(pvname)
123124
val = pv.get()
124125
assert isinstance(val, tuple)
126+
pv.disconnect()
125127

126128
pvname = pvbase + ":WAVE"
127129
thread = threading.Thread(target=some_thread_thing, args=(pvname,))

test/test_pyca.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,9 @@ def setup_pv(pvname, connect=True):
8787
return pv
8888

8989

90-
def test_server_start(server):
91-
pass
92-
93-
9490
@pytest.mark.timeout(10)
9591
@pytest.mark.parametrize('pvname', test_pvs)
96-
def test_create_and_clear_channel(pvname):
92+
def test_create_and_clear_channel(server, pvname):
9793
logger.debug('test_create_and_clear_channel %s', pvname)
9894
pv = setup_pv(pvname)
9995
assert pv.connect_cb.connected
@@ -106,7 +102,7 @@ def test_create_and_clear_channel(pvname):
106102

107103
@pytest.mark.timeout(10)
108104
@pytest.mark.parametrize('pvname', test_pvs)
109-
def test_get_data(pvname):
105+
def test_get_data(server, pvname):
110106
logger.debug('test_get_data %s', pvname)
111107
pv = setup_pv(pvname)
112108
# get time vars
@@ -124,11 +120,12 @@ def test_get_data(pvname):
124120
assert key in pv.data
125121
# check that value is not None
126122
assert pv.data['value'] is not None
123+
pv.clear_channel()
127124

128125

129126
@pytest.mark.timeout(10)
130127
@pytest.mark.parametrize('pvname', test_pvs)
131-
def test_put_get(pvname):
128+
def test_put_get(server, pvname):
132129
logger.debug('test_put_get %s', pvname)
133130
pv = setup_pv(pvname)
134131
pv.get_data(False, -1.0)
@@ -151,11 +148,12 @@ def test_put_get(pvname):
151148
assert pv.getevt_cb.wait(timeout=1)
152149
recv_value = pv.data['value']
153150
assert recv_value == new_value
151+
pv.clear_channel()
154152

155153

156154
@pytest.mark.timeout(10)
157155
@pytest.mark.parametrize('pvname', test_pvs)
158-
def test_subscribe(pvname):
156+
def test_subscribe(server, pvname):
159157
logger.debug('test_subscribe %s', pvname)
160158
pv = setup_pv(pvname)
161159
ev = threading.Event()
@@ -186,22 +184,24 @@ def mon_cb(exception=None):
186184
assert ev.wait(timeout=1)
187185
recv_value = pv.data['value']
188186
assert recv_value == new_value
187+
pv.clear_channel()
189188

190189

191190
@pytest.mark.timeout(10)
192191
@pytest.mark.parametrize('pvname', test_pvs)
193-
def test_misc(pvname):
192+
def test_misc(server, pvname):
194193
logger.debug('test_misc %s', pvname)
195194
pv = setup_pv(pvname)
196195
assert isinstance(pv.host(), str)
197196
assert isinstance(pv.state(), int)
198197
assert isinstance(pv.count(), int)
199198
assert isinstance(pv.type(), str)
200199
assert isinstance(pv.rwaccess(), int)
200+
pv.clear_channel()
201201

202202

203203
@pytest.mark.timeout(10)
204-
def test_waveform():
204+
def test_waveform(server):
205205
logger.debug('test_waveform')
206206
pv = setup_pv(pvbase + ":WAVE")
207207
# Do as a tuple
@@ -221,10 +221,11 @@ def test_waveform():
221221
val = pv.data['value']
222222
assert isinstance(val, np.ndarray)
223223
assert len(val) == pv.count()
224+
pv.clear_channel()
224225

225226

226227
@pytest.mark.timeout(10)
227-
def test_threads():
228+
def test_threads(server):
228229
logger.debug('test_threads')
229230

230231
def some_thread_thing(pvname):
@@ -234,6 +235,7 @@ def some_thread_thing(pvname):
234235
pyca.flush_io()
235236
assert pv.getevt_cb.wait(timeout=1)
236237
assert isinstance(pv.data['value'], tuple)
238+
pv.clear_channel()
237239

238240
pvname = pvbase + ":WAVE"
239241
thread = threading.Thread(target=some_thread_thing, args=(pvname,))

0 commit comments

Comments
 (0)