Skip to content

[rc1-prep] test-gap: add ncclfrreceiver end-to-end integration test #330

Description

@trilamsr

Context

Audit in docs/v1-rc1-test-audit.md §3.

The NCCL FR receiver is the moat's flagship receiver. Today:

  • FuzzParseFRPickle covers the safe-pickle parser.
  • nccl_fr_test.go covers emit in isolation.
  • No test wires the full receiver factory → file-watch → emit-to-consumer chain against a binary .pkl fixture.

Fix

Add module/receiver/ncclfrreceiver/nccl_fr_integration_test.go that:

  1. Instantiates the receiver via its factory + a real componenttest.NewNopHost.
  2. Points the watch path at a temp dir.
  3. Drops one of the committed .pkl fixtures from module/pkg/nccl/fr_parser/testdata/ into the dir.
  4. Asserts the consumer receives exactly one emit, the resource attributes carry nccl.fr.source_path, and selftel IncEmissions fired once.

Use the upstream consumertest.LogsSink shape that pyspy/integration_helper_test.go already follows for the precedent.

Acceptance

  • New test passes under -race.
  • Skips cleanly on Windows if hostpath behaviour diverges (use //go:build !windows only if necessary).

Effort

M (~1 day). Adopt-over-build: upstream componenttest + consumertest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No 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