wavefnd / wavefnd/Wave

Skip network-dependent std examples when local sockets are unavailable

Open
#455 0 comments 0 reactions 0 assignees View on GitHub
build cross-platform good first issue needs testing
Dominant language
Rust
Stars
53
Forks
16
Avg merge
4h 22m
Merged PRs (30d)
46

Description

## Problem

The standard-library example runner treats an unavailable local socket environment as a program regression.

In a restricted environment, the full example audit compiled all examples but reported seven runtime failures because `socket()` returned `EPERM`. The test runner already has environment-aware handling for a network test, but the example runner does not share an equivalent mechanism.

## Scope

- Define lightweight metadata or a deterministic capability probe for examples that require local networking.
- Mark environment-caused skips separately from compile failures and program failures.
- Reuse existing test-runner detection where practical.
- Keep the summary machine-readable and clear in CI logs.
- Test the behavior with a fake runner or injected probe; tests must not require real network access.

## Acceptance criteria

- A sandbox that denies socket creation reports network examples as skipped, not failed.
- A genuine compile or runtime regression in a network example still fails the command.
- Normal unrestricted environments continue to execute the examples.

Contributor guide

Open the contributing guide

Research direction

Start at the standard-library example runner and compare its handling with the existing test-runner detection for network availability. Exercise the runner with a fake runner or injected capability probe, then verify that denied sockets are skipped, genuine compile or runtime failures still fail, and unrestricted runs execute normally with clear machine-readable summaries.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.