Skip to content

Commit

Permalink
test(serial.py): add test for file description leak
Browse files Browse the repository at this point in the history
  • Loading branch information
JammuKekkonen authored and igor udot (horw) committed Oct 24, 2023
1 parent 4e89804 commit 83ccfe6
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions pytest-embedded-serial/tests/test_serial.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,63 @@ def test_teardown_called_for_multi_dut_succeeded(dut):

result = testdir.runpytest()
result.assert_outcomes(passed=1, errors=1)


def test_serial_file_description_leak(testdir):
testdir.makepyfile(r"""
import pytest
from pytest_lazyfixture import lazy_fixture
dutHelper = None
class DutHelper:
def __init__(self):
self.duts = None
def setDut(self, duts):
self.duts = duts
def dut1(self):
return self.duts[0]
def dut2(self):
return self.duts[1]
@pytest.fixture
def dut_helper(dut):
global dutHelper
if dutHelper is None:
dutHelper = DutHelper()
dutHelper.setDut(dut)
return dutHelper
@pytest.fixture
def DUT1(dut_helper):
return dut_helper.dut1()
@pytest.fixture
def DUT2(dut_helper):
return dut_helper.dut2()
@pytest.mark.parametrize("fixture", [lazy_fixture("DUT1"), lazy_fixture("DUT2")])
@pytest.mark.parametrize("test_input", range(0, 300))
def test_dummy(test_input, dut, fixture):
dut[0].write("foo")
assert test_input == test_input
""")

result = testdir.runpytest(
'-s',
'--count', 2,
'--embedded-services', 'serial|serial',
'--port', '/dev/ttyUSB0|/dev/ttyUSB1',
'--baud', '115200|115200'
)
result.assert_outcomes(passed=600)

0 comments on commit 83ccfe6

Please sign in to comment.