Skip to content

Update tests in tracer_test module #1

Open
@duncanatt

Description

@duncanatt

The unit tests in the tracer_test module are time-dependent, which is not the best way to test concurrent code.
The use of timing was done in an effort to affect the trace event routing algorithm as least as possible: we cannot synchronise with it via message passing to influence the different interleaved execution of the offline tracer (responsible only for managing the interleaving of system process trace events) and the trace event routing algorithm (responsible for forwarding events to the correct tracer), which is, itself, concurrent.

The general problem with these types of tests is that assertions are too fine-grained, and attempt to check every step in the execution, rather than focusing on the final monitored system configuration.
These assertions must, therefore, be rewritten to check the monitored system internal state and resulting configuration in a coarser manner.
The suspicion is that this must be done, once, at the end of each test run.

It is due to this reason that presently, tracer_test will not be executed in the build pipeline; this will be reverted once the module and tests within are fixed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtest

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions