Skip to content

Enable parallel dlt tests#104

Merged
ltekieli merged 4 commits into
eclipse-score:mainfrom
HiLivin:jakuza_docker_dlt
May 12, 2026
Merged

Enable parallel dlt tests#104
ltekieli merged 4 commits into
eclipse-score:mainfrom
HiLivin:jakuza_docker_dlt

Conversation

@HiLivin
Copy link
Copy Markdown
Contributor

@HiLivin HiLivin commented May 8, 2026

Create a dedicated bridge network for each Docker container so that
get_ip()/get_gateway() return addresses unique to that container,
preventing multicast cross-talk between parallel tests.

When a dedicated network is set, get_ip()/get_gateway() default to it.
The first-attached-network fallback is only used when no dedicated
network was provided (e.g. DockerTarget created without a network).

Add a dlt_on_target pytest fixture that uploads dlt-receive to the
target and yields a factory for starting receivers. All receivers are
stopped automatically on teardown.

Suppress two warrnings from third party dlt 2.18.11.

QEMU: Enable logging stderr

@HiLivin HiLivin marked this pull request as ready for review May 8, 2026 11:32
@HiLivin HiLivin self-assigned this May 8, 2026
- safe_size_to_int32 in dlt_user.c is defined outside a
DLT_TRACE_LOAD_CTRL_ENABLE guard but only called inside it,
triggering -Werror=unused-function with GCC.

- dlt_env_ll.c uses strlen() in an array size which Clang treats as a
GNU extension (-Wgnu-folding-constant)
@HiLivin HiLivin force-pushed the jakuza_docker_dlt branch from c1b69b8 to 749e843 Compare May 12, 2026 11:03
Copy link
Copy Markdown
Member

@ltekieli ltekieli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

score/itf/plugins/docker.py:393-401 — Network resource leak on container removal failure

If container.remove(force=True) raises, the exception propagates past the network.remove() block, leaking the Docker network.

Wrapping in an additional finally would guarantee cleanup:

        try:
            try:
                container.stop(timeout=1)
            finally:
                container.remove(force=True)
        finally:
            try:
                network.remove()
            except Exception:
                logger.warning(f"Failed to remove network {network.name}", exc_info=True)

HiLivin added 3 commits May 12, 2026 14:18
Create a dedicated bridge network for each Docker container so that
get_ip()/get_gateway() return addresses unique to that container,
preventing multicast cross-talk between parallel tests.

When a dedicated network is set, get_ip()/get_gateway() default to it.
The first-attached-network fallback is only used when no dedicated
network was provided (e.g. DockerTarget created without a network).

Migrate test_dlt.py helpers to use the new target methods instead
of reaching into container internals.
Add a dlt_on_target pytest fixture that uploads dlt-receive to the
target and yields a factory for starting receivers.  All receivers are
stopped automatically on teardown.
@HiLivin HiLivin force-pushed the jakuza_docker_dlt branch from 749e843 to 875182f Compare May 12, 2026 12:19
@ltekieli ltekieli enabled auto-merge May 12, 2026 12:35
@ltekieli ltekieli added this pull request to the merge queue May 12, 2026
Merged via the queue into eclipse-score:main with commit 98118b1 May 12, 2026
7 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in TST - Testing Community May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants