Skip to content

Commit

Permalink
tests: Adjusted reproducer for #57
Browse files Browse the repository at this point in the history
Signed-off-by: Jakub Jelen <[email protected]>
  • Loading branch information
Jakuje committed Nov 14, 2024
1 parent 2e2d4cf commit 63b8ab7
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions tests/unit/channel_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,23 @@ def ssh_channel(ssh_client_session):
chan.close()


@pytest.mark.xfail(
reason='This test causes SEGFAULT, flakily. '
'Ref: https://github.com/ansible/pylibssh/issues/57',
strict=False,
)
def exec_second_command(ssh_channel):
# the important part is to call some other functions in between that will
# override stack of the first function making the memory more likely corrupted

u_cmd_out = ssh_channel.exec_command('echo -n Hello Again').stdout.decode()
assert u_cmd_out == u'Hello Again' # noqa: WPS302


@pytest.mark.forked
def test_exec_command(ssh_channel):
"""Test getting the output of a remotely executed command."""
u_cmd_out = ssh_channel.exec_command('echo -n Hello World').stdout.decode()
assert u_cmd_out == u'Hello World' # noqa: WPS302
# Test that repeated calls to exec_command do not segfault.
u_cmd_out = ssh_channel.exec_command('echo -n Hello Again').stdout.decode()
assert u_cmd_out == u'Hello Again' # noqa: WPS302

# randomize the stack a bit more by calling this from yet another function
exec_second_command(ssh_channel)


def test_double_close(ssh_channel):
Expand Down

0 comments on commit 63b8ab7

Please sign in to comment.