feat(tc8): add ETS stub DUT and someipd logging migration - #242
Conversation
License Check Results🚀 The license check job ran with the Bazel command: bazel run //:license-checkStatus: Click to expand output |
|
Documentation preview for this pull request is available at: |
| } | ||
| score::mw::log::LogDebug() << "[tc8_ets_stub] notified all events"; | ||
| } | ||
| std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
There was a problem hiding this comment.
I still believe the chosen approach will drift over time. We just have to make the conscious decision if that is ok.
There was a problem hiding this comment.
This loop already uses steady_clock to avoid accumulated drift (unlike the elapsed_ms counter pattern in the closed PR #214). The residual ~100 ms jitter per notification cycle is the polling granularity, not drift, and from my point of view acceptable for a test helper whose only job is to drive SOME/IP event traffic for protocol capture. If that is acceptable for you, I'd keep as is.
There was a problem hiding this comment.
drift is for me acceptable. I just wanted to point out that this can happen with this algorithm.
It is not like that almost exactly every 500ms an event will be sent and if the second was delayed and sent at 590ms, that the third will be sent at 1000ms. Instead subsequent events will inherit the delay from the predecessors. Thus when everything works in time the third event will be sent at 1090ms. If the scheduler decides to wake up this application even later, it could be later.
Admitted this should not be an issue when the system is almost idle, but under high load we might experience this.
|
|
||
| ## See Also | ||
|
|
||
| - [Architecture](../../../docs/architecture/tc8_conformance_testing.rst) |
There was a problem hiding this comment.
You are correct, docs/architecture/tc8_conformance_testing.rst does not exist on this branch yet. It is part of the docs PR-9. Removed the dead link from this PR.
There was a problem hiding this comment.
I can accept that, but I am not happy with this approach. I would have loved that each pull request just contains as much documentation to make sense of it on its own.
lurtz
left a comment
There was a problem hiding this comment.
should we merge or wait for others review?
This is PR 2 of 9 in the TC8 conformance test suite stack (split from #60).
Depends on: #213 (jorgecasal/tc8-build-infra), now merged into main.
Note: Replaces the previously proposed PR #214 (jorgecasal/tc8-someipd-standalone), which was closed. The score/someipd_tc8/ standalone binary approach was replaced by the ETS stub described below.
Changes
score/someipd/main.cpp: migrate logging from std::cout to score::mw::log. No logic change.
tests/tc8_conformance/application/ -- new ETS stub DUT:
The ETS stub is the DUT application for TC8 conformance testing. It offers tc8_service via mw::com GenericSkeleton. gatewayd and someipd still run in the test setup and bridge that service to the SOME/IP network so the TC8 ETS can connect to it. Compared to the previous approach (a standalone someipd_tc8 binary), the ETS stub sits at the application layer and has no direct dependency on vsomeip or the IPC bridge internals.
Stack
Review focus