Skip to content
17 changes: 10 additions & 7 deletions src/qcodes/instrument_drivers/cryomagnetics/_cryomagnetics4g.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
import re
import time
from dataclasses import dataclass
from typing import TYPE_CHECKING
from time import time as _time
from typing import TYPE_CHECKING, Self

from pyvisa import VisaIOError

Expand Down Expand Up @@ -84,6 +85,8 @@ def __init__(
# Initialize rate manager based on hypothetical hardware specific limits
self._initialize_max_current_limits()

self._stability_check_interval = 20

# Adding parameters
self.units: Parameter = self.add_parameter(
name="units",
Expand All @@ -95,7 +98,7 @@ def __init__(
)
"""Field Units"""

self.ramping_state_check_interval: Parameter = self.add_parameter(
self.ramping_state_check_interval: Parameter[float, Self] = self.add_parameter(
"ramping_state_check_interval",
initial_value=0.05,
unit="s",
Expand Down Expand Up @@ -319,8 +322,7 @@ def wait_while_ramping(
if getattr(self, "visabackend", False) == "sim":
# write setpoint directly in sim mode
self.write(f"IMAG {value / self.KG_TO_TESLA}")
last_check_time = time.time()
stability_check_interval = 20
last_check_time = _time()
last_stable_field = self._get_field()

while True:
Expand All @@ -329,8 +331,9 @@ def wait_while_ramping(
if setpoint_reached:
break

elapsed_time = time.time() - last_check_time
time_for_stability_check = elapsed_time > stability_check_interval
current_time = _time()
elapsed_time = current_time - last_check_time
time_for_stability_check = elapsed_time > self._stability_check_interval
field_is_stable = abs(last_stable_field - current_field) < threshold

if time_for_stability_check and field_is_stable:
Expand All @@ -340,7 +343,7 @@ def wait_while_ramping(
)
elif time_for_stability_check and not field_is_stable:
last_stable_field = current_field
last_check_time = time.time()
last_check_time = current_time

self._sleep(self.ramping_state_check_interval())
self.write("SWEEP PAUSE")
Expand Down
8 changes: 6 additions & 2 deletions tests/dataset/dond/test_do0d.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,12 @@ def test_do0d_output_data(_param) -> None:
"multiparamtype",
[MultiSetPointParam, Multi2DSetPointParam, Multi2DSetPointParam2Sizes],
)
@given(n_points_pws=hst.integers(min_value=1, max_value=1000))
@settings(deadline=None, suppress_health_check=(HealthCheck.function_scoped_fixture,))
@given(n_points_pws=hst.integers(min_value=1, max_value=50))
@settings(
deadline=None,
max_examples=10,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
def test_do0d_verify_shape(
_param, _param_complex, multiparamtype, dummyinstrument, n_points_pws
) -> None:
Expand Down
8 changes: 6 additions & 2 deletions tests/dataset/dond/test_do1d.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,13 @@ def test_do1d_output_data(_param, _param_set) -> None:
)
@given(
num_points=hst.integers(min_value=1, max_value=10),
n_points_pws=hst.integers(min_value=1, max_value=500),
n_points_pws=hst.integers(min_value=1, max_value=50),
)
@settings(
deadline=None,
max_examples=10,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@settings(deadline=None, suppress_health_check=(HealthCheck.function_scoped_fixture,))
def test_do1d_verify_shape(
_param,
_param_complex,
Expand Down
8 changes: 6 additions & 2 deletions tests/dataset/dond/test_do2d.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,9 +193,13 @@ def test_do2d_output_data(_param, _param_complex, _param_set, _param_set_2) -> N
@given(
num_points_p1=hst.integers(min_value=1, max_value=5),
num_points_p2=hst.integers(min_value=1, max_value=5),
n_points_pws=hst.integers(min_value=1, max_value=500),
n_points_pws=hst.integers(min_value=1, max_value=50),
)
@settings(
deadline=None,
max_examples=10,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@settings(deadline=None, suppress_health_check=(HealthCheck.function_scoped_fixture,))
def test_do2d_verify_shape(
_param,
_param_complex,
Expand Down
24 changes: 18 additions & 6 deletions tests/dataset/dond/test_doNd.py
Original file line number Diff line number Diff line change
Expand Up @@ -328,8 +328,12 @@ def test_dond_multi_datasets_meas_names_len_mismatch(_param, experiment) -> None
"multiparamtype",
[MultiSetPointParam, Multi2DSetPointParam, Multi2DSetPointParam2Sizes],
)
@given(n_points_pws=hst.integers(min_value=1, max_value=500))
@settings(deadline=None, suppress_health_check=(HealthCheck.function_scoped_fixture,))
@given(n_points_pws=hst.integers(min_value=1, max_value=50))
@settings(
deadline=None,
max_examples=10,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
def test_dond_0d_verify_shape(
_param, _param_complex, multiparamtype, dummyinstrument, n_points_pws
) -> None:
Expand Down Expand Up @@ -478,9 +482,13 @@ def test_dond_1d_parameter_with_array_vals(_param_set) -> None:
)
@given(
num_points=hst.integers(min_value=1, max_value=5),
n_points_pws=hst.integers(min_value=1, max_value=500),
n_points_pws=hst.integers(min_value=1, max_value=50),
)
@settings(
deadline=None,
max_examples=10,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@settings(deadline=None, suppress_health_check=(HealthCheck.function_scoped_fixture,))
def test_dond_1d_verify_shape(
_param,
_param_complex,
Expand Down Expand Up @@ -648,9 +656,13 @@ def test_dond_1d_output_type(_param, _param_complex, _param_set) -> None:
@given(
num_points_p1=hst.integers(min_value=1, max_value=5),
num_points_p2=hst.integers(min_value=1, max_value=5),
n_points_pws=hst.integers(min_value=1, max_value=500),
n_points_pws=hst.integers(min_value=1, max_value=50),
)
@settings(
deadline=None,
max_examples=10,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@settings(deadline=None, suppress_health_check=(HealthCheck.function_scoped_fixture,))
def test_dond_2d_verify_shape(
_param,
_param_complex,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -972,7 +972,7 @@ def test_datasaver_foul_input(bg_writing) -> None:


@settings(max_examples=10, deadline=None)
@given(N=hst.integers(min_value=2, max_value=500))
@given(N=hst.integers(min_value=2, max_value=50))
@pytest.mark.usefixtures("empty_temp_db")
@pytest.mark.parametrize("bg_writing", [True, False])
@pytest.mark.parametrize("storage_type", ["numeric", "array"])
Expand Down Expand Up @@ -1113,7 +1113,7 @@ def test_datasaver_arrayparams(
deadline=None,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@given(N=hst.integers(min_value=5, max_value=500))
@given(N=hst.integers(min_value=5, max_value=100))
@pytest.mark.parametrize("bg_writing", [True, False])
@pytest.mark.parametrize("storage_type", ["numeric", "array"])
@pytest.mark.usefixtures("experiment")
Expand Down Expand Up @@ -1633,7 +1633,7 @@ def test_datasaver_parameter_with_setpoints_reg_but_missing(
deadline=None,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@given(N=hst.integers(min_value=5, max_value=500))
@given(N=hst.integers(min_value=5, max_value=100))
@pytest.mark.usefixtures("experiment")
@pytest.mark.parametrize("storage_type", ["numeric", "array"])
@pytest.mark.parametrize("bg_writing", [True, False])
Expand Down Expand Up @@ -2166,7 +2166,7 @@ def test_datasaver_2d_multi_parameters_array(
@pytest.mark.usefixtures("experiment")
@pytest.mark.parametrize("bg_writing", [True, False])
@pytest.mark.parametrize("storage_type", ["numeric", "array"])
@settings(deadline=None)
@settings(deadline=None, max_examples=10)
@given(Ns=hst.lists(hst.integers(2, 10), min_size=2, max_size=5))
def test_datasaver_arrays_of_different_length(storage_type, Ns, bg_writing) -> None:
"""
Expand Down
18 changes: 13 additions & 5 deletions tests/dataset/measurement/test_shapes.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@
from pytest import LogCaptureFixture


@given(n_points=hst.integers(min_value=1, max_value=100))
@given(n_points=hst.integers(min_value=1, max_value=50))
@example(n_points=5)
@settings(deadline=None, suppress_health_check=(HealthCheck.function_scoped_fixture,))
@settings(
deadline=None,
max_examples=10,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
def test_datasaver_1d(
experiment, DAC, DMM, caplog: "LogCaptureFixture", n_points
) -> None:
Expand Down Expand Up @@ -65,10 +69,14 @@ def test_datasaver_1d(
)


@settings(deadline=None, suppress_health_check=(HealthCheck.function_scoped_fixture,))
@settings(
deadline=None,
max_examples=10,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@given(
n_points_1=hst.integers(min_value=1, max_value=50),
n_points_2=hst.integers(min_value=1, max_value=50),
n_points_1=hst.integers(min_value=1, max_value=15),
n_points_2=hst.integers(min_value=1, max_value=15),
)
@example(n_points_1=5, n_points_2=10)
def test_datasaver_2d(
Expand Down
2 changes: 1 addition & 1 deletion tests/dataset/test__get_data_from_ds.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ def test_datasaver_multidimarrayparameter_as_numeric(
deadline=None,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@given(N=hst.integers(min_value=5, max_value=500))
@given(N=hst.integers(min_value=5, max_value=100))
@pytest.mark.parametrize("bg_writing", [True, False])
@pytest.mark.parametrize("storage_type", ["numeric", "array"])
@pytest.mark.usefixtures("experiment")
Expand Down
6 changes: 3 additions & 3 deletions tests/dataset/test_data_set_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ def test_cache_standalone(
@pytest.mark.parametrize("in_memory_cache", [True, False])
@settings(
deadline=None,
max_examples=10,
max_examples=5,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@given(n_points=hst.integers(min_value=1, max_value=11))
Expand Down Expand Up @@ -455,7 +455,7 @@ def test_cache_1d_every_other_point(
@pytest.mark.parametrize("in_memory_cache", [True, False])
@settings(
deadline=None,
max_examples=10,
max_examples=5,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@given(
Expand Down Expand Up @@ -838,7 +838,7 @@ def test_cache_1d_shape(
@pytest.mark.parametrize("cache_size", ["too_large", "correct", "too_small"])
@settings(
deadline=None,
max_examples=10,
max_examples=5,
suppress_health_check=(HealthCheck.function_scoped_fixture,),
)
@given(
Expand Down
8 changes: 4 additions & 4 deletions tests/dataset/test_nested_measurements.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,11 @@ def test_nested_measurement(bg_writing) -> None:

@pytest.mark.usefixtures("experiment")
@pytest.mark.parametrize("bg_writing", [True, False])
@settings(deadline=None, max_examples=25)
@settings(deadline=None, max_examples=10)
@given(
outer_len=hst.integers(min_value=1, max_value=100),
inner_len1=hst.integers(min_value=1, max_value=1000),
inner_len2=hst.integers(min_value=1, max_value=1000),
outer_len=hst.integers(min_value=1, max_value=20),
inner_len1=hst.integers(min_value=1, max_value=200),
inner_len2=hst.integers(min_value=1, max_value=200),
)
def test_nested_measurement_array(
bg_writing, outer_len, inner_len1, inner_len2
Expand Down
Loading
Loading