Skip to content

Commit f626761

Browse files
committed
Update tests
1 parent 820049d commit f626761

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

tests/test_device_manager.py

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ def test_missing_fixture_ok_if_not_required(dm: DeviceManager):
268268

269269
@dm.factory
270270
def foo(unknown):
271-
return s1(bar)
271+
return s1(unknown)
272272

273273
@dm.factory
274274
def bar():
@@ -319,9 +319,8 @@ def bar(_):
319319

320320

321321
def test_build_errors_are_caught(dm: DeviceManager):
322-
s1 = Mock()
323322
err = RuntimeError("Build failed")
324-
s1.side_effect = err
323+
s1 = Mock(side_effect=err)
325324

326325
@dm.factory
327326
def foo():
@@ -337,8 +336,7 @@ def foo():
337336
def test_dependency_errors_propagate(dm: DeviceManager):
338337
s1 = Mock()
339338
err = RuntimeError("Build failed")
340-
s2 = Mock()
341-
s2.side_effect = err
339+
s2 = Mock(side_effect=err)
342340

343341
@dm.factory
344342
def foo(bar):
@@ -401,16 +399,36 @@ def foo():
401399
def test_positional_only_args_error(dm: DeviceManager):
402400
s1 = Mock()
403401

404-
with pytest.raises(ValueError, match="positional only arguments"):
402+
with pytest.raises(ValueError, match="positional only argument 'bar'"):
405403

406404
@dm.factory
407-
def foo(foo, /):
405+
def foo(bar, /):
408406
return s1()
409407

410408

411-
def test_devices_or_raise(dm: DeviceManager):
409+
def test_variadic_args_error(dm: DeviceManager):
412410
s1 = Mock()
413-
s1.side_effect = RuntimeError("Build failed")
411+
with pytest.raises(ValueError, match="variadic argument 'args'"):
412+
413+
@dm.factory
414+
def foo(*args):
415+
return s1(*args)
416+
417+
418+
def test_kwargs_factory(dm: DeviceManager):
419+
s1 = Mock()
420+
421+
# Factories can have kwargs but they're ignored by the device manager
422+
@dm.factory
423+
def foo(**kwargs):
424+
s1(**kwargs)
425+
426+
dm.build_all(s1)
427+
s1.assert_called_once_with()
428+
429+
430+
def test_devices_or_raise(dm: DeviceManager):
431+
s1 = Mock(side_effect=RuntimeError("Build failed"))
414432

415433
@dm.factory
416434
def foo():

0 commit comments

Comments
 (0)