Skip to content

TestTestgresCommon::test_child_pids[remote] has problem #406

Description

@dmitry-lipetsk

https://github.com/postgrespro/testgres/actions/runs/29373027538/job/87226314560#step:10:5829

testgres--test_logs--20260714_231504-altlinux_11-py3_xx_xx-pg17_xx-id29373027538.zip

__________________ TestTestgresCommon.test_child_pids[remote] __________________
[gw3] linux -- Python 3.12.7 /tmp/testgres_venv/bin/python3

self = <tests.test_testgres_common.TestTestgresCommon object at 0x7f70e193e5d0>
node_svc = <tests.helpers.global_data.PostgresNodeService object at 0x7f70e2992930>

    def test_child_pids(self, node_svc: PostgresNodeService):
        assert isinstance(node_svc, PostgresNodeService)
    
        master_processes = [
            ProcessType.AutovacuumLauncher,
            ProcessType.BackgroundWriter,
            ProcessType.Checkpointer,
            ProcessType.StatsCollector,
            ProcessType.WalSender,
            ProcessType.WalWriter,
        ]
    
        postgresVersion = get_pg_version2(node_svc.os_ops)
    
        if __class__.helper__pg_version_ge(postgresVersion, '10'):
            master_processes.append(ProcessType.LogicalReplicationLauncher)
    
        if __class__.helper__pg_version_ge(postgresVersion, '14'):
            master_processes.remove(ProcessType.StatsCollector)
    
        repl_processes = [
            ProcessType.Startup,
            ProcessType.WalReceiver,
        ]
    
        def LOCAL__test_auxiliary_pids(
            node: PostgresNode,
            expectedTypes: typing.List[ProcessType]
        ) -> typing.List[ProcessType]:
            # returns list of the absence processes
            assert node is not None
            assert type(node) is PostgresNode
            assert expectedTypes is not None
            assert type(expectedTypes) is list
    
            pids = node.auxiliary_pids
            assert pids is not None
            assert type(pids) is dict
    
            result: typing.List[ProcessType] = list()
            for ptype in expectedTypes:
                if ptype not in pids:
                    result.append(ptype)
        run_r      = (1, '', '')
        self       = <testgres.operations.remote_ops.RemoteOperations object at 0x7f70e2538770>
        shell      = True
        ssh_cmd    = ['ssh',
 '-i',
 '/home/test/testgres/id_ed25519_test_ci',
 '-p',
 '22',
 'test@machine2-altlinux_11-py3_xx_xx-pg17_xx',
 'trap \'\' HUP;export LANG="C.UTF-8";ps -p 116327 -o cmd --no-headers']
        stderr     = None
        stdin      = None
        stdout     = None
        text       = False
        timeout    = None
        verbose    = False
        wait_exit  = False
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['ps', '-p', '116327', '-o', 'cmd', '--no-headers'], exit_code = 1
msg_arg = b'', error = '', out = ''

    @staticmethod
    def UtilityExitedWithNonZeroCode(cmd, exit_code, msg_arg, error, out) -> typing.NoReturn:
        assert type(exit_code) is int
    
        msg_arg_s = __class__._TranslateDataIntoString(msg_arg)
        assert type(msg_arg_s) is str
    
        msg_arg_s = msg_arg_s.strip()
        if msg_arg_s == "":
            msg_arg_s = "#no_error_message"
    
        message = "Utility exited with non-zero code (" + str(exit_code) + "). Error: `" + msg_arg_s + "`"
>       raise ExecUtilException(
            message=message,
            command=cmd,
            exit_code=exit_code,
            out=out,
            error=error)
E       testgres.operations.exceptions.ExecUtilException: Utility exited with non-zero code (1). Error: `#no_error_message`
E       Command: ps -p 116327 -o cmd --no-headers
E       Exit code: 1

__class__  = <class 'testgres.operations.raise_error.RaiseError'>
cmd        = ['ps', '-p', '116327', '-o', 'cmd', '--no-headers']
error      = ''
exit_code  = 1
message    = 'Utility exited with non-zero code (1). Error: `#no_error_message`'
msg_arg    = b''
msg_arg_s  = '#no_error_message'
out        = ''

/tmp/testgres_venv/lib64/python3/site-packages/testgres/operations/raise_error.py:20: ExecUtilException
------------------------------ Captured log call -------------------------------
DEBUG    root:port_manager__generic2.py:157 [port manager] Port 21650 is reserved.
DEBUG    root:port_manager__generic2.py:157 [port manager] Port 26241 is reserved.
INFO     root:test_testgres_common.py:1023 Test pids of [testgres-e41e539d-6ccb-4242-8458-632268f7ee31] node. Attempt #1.
INFO     root:test_testgres_common.py:1035 Bingo!
INFO     root:test_testgres_common.py:1023 Test pids of [testgres-0362ff36-a9c1-4db7-bf05-c120ea39447b] node. Attempt #1.
INFO     root:test_testgres_common.py:1035 Bingo!
DEBUG    root:port_manager__generic2.py:157 [port manager] Port 26241 is released.
DEBUG    root:port_manager__generic2.py:157 [port manager] Port 21650 is released.
=============================== warnings summary ===============================
tests/test_testgres_remote.py::TestTestgresRemote::test_init__LANG_С
  /tmp/testgres_venv/lib64/python3/site-packages/_pytest/fixtures.py:1313: PytestRemovedIn10Warning: Class-scoped fixture defined as instance method is deprecated.
  Instance attributes set in this fixture will NOT be visible to test methods,
  as each test gets a new instance while the fixture runs only once per class.
  Use @classmethod decorator and set attributes on cls instead.
  See https://docs.pytest.org/en/stable/deprecations.html#class-scoped-fixture-as-instance-method
    fixturefunc = resolve_fixture_function(fixturedef, request)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_testgres_common.py::TestTestgresCommon::test_child_pids[remote] - testgres.operations.exceptions.ExecUtilException: Utility exited with non-zero code (1). Error: `#no_error_message`
Command: ps -p 116327 -o cmd --no-headers
Exit code: 1
====== 1 failed, 1292 passed, 3 skipped, 1 warning in 5455.59s (1:30:55) =======

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions