Skip to content

Bound FIFO inspection regressions and the generic CI test job #83

Description

@Deicyde

Problem

The project-inspection FIFO regressions can hang instead of fail:

  • On main, test_fifo_configuration_is_never_opened relies on the production is_file() guard. Removing that guard blocks forever on a FIFO with no writer.
  • PR Harden project compatibility inspection snapshots #79 adds nonblocking production opens and another FIFO-swap test, but removing O_NONBLOCK makes that test hang too.
  • The generic GitHub Actions test job has no timeout-minutes, so a regression can consume the six-hour default.

Acceptance criteria

  • Run each blocking-I/O regression behind a killable subprocess deadline; on timeout, terminate it and report the responsible test.
  • Keep the assertions that production code never blocks on FIFOs or devices.
  • Add a bounded timeout-minutes to the generic test job as a final backstop.
  • Confirm the guarded tests finish promptly when the relevant production protection is deliberately removed.

This is distinct from #65: that issue is a PID-file setup race in descendant cleanup, while this issue bounds tests that may block indefinitely.

Activity

  1. changed the title [-]tests: the FIFO inspection test hangs instead of failing if its guard regresses, and the CI test job has no timeout[/-] [+]Bound FIFO inspection regressions and the generic CI test job[/+] on Oct 3, 2026
  2. Deicyde commented on Oct 3, 2026

    @Deicyde
    ContributorAuthor

    Implementation status: draft PR #79 adds nonblocking production opens and another FIFO-swap regression, reducing the current product risk. It does not add killable per-test deadlines or a generic CI job timeout, so it does not close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions