Skip to content

test: document infrastructure and improve loop assertion diagnostics - #59

Merged
petesramek merged 2 commits into
petesramek-test-suite-organizationfrom
petesramek-test-docs-diagnostics
Oct 28, 2026
Merged

petesramek merged 2 commits into
petesramek-test-suite-organizationfrom
petesramek-test-docs-diagnostics

Conversation

@petesramek

Copy link
Copy Markdown
Owner

Description

Layer 8 of the TinyLink remediation stack (base: petesramek-test-suite-organization, #58). Documents the test infrastructure (FakeAdapter, helpers/fixture, platform stubs, compile-contract probes, capacity assumptions: max payload 64, packet ≤ 69 bytes, 8192-byte fake buffers) in test/README.md and header comments, and makes loop-based assertions report the failing index/length/value through TEST_ASSERT_*_MESSAGE and a new tinylink_test::diag() helper (test/support/tinylink/TestDiagnostics.h). No production code or test coverage changes; no assertions weakened.

Closes #N/A

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactor / code quality improvement
  • CI / build / tooling change

Checklist

  • I have read the Contributing Guidelines.
  • My branch is up-to-date with the target branch.
  • My changes compile without errors or warnings on the affected platform(s).
  • I have added or updated tests to cover my changes.
  • All existing tests pass (pio test -e native).
  • I have updated relevant documentation (README, inline comments, etc.).
  • My commit messages follow the Conventional Commits format.
  • I have added a CHANGELOG.md entry under [Unreleased].

Testing Done

Windows host, PlatformIO native + Unity:

  • pio test -e native → 125 test cases: 124 succeeded, 1 skipped (POSIX PTY suite is ignored on Windows), 0 failed
  • python tools/compile_contract/check.py → PASS payload_valid.cpp, PASS payload_not_trivially_copyable.cpp, PASS payload_too_large.cpp
  • git diff --check → clean (exit 0)

The POSIX suite edits compile only on Linux and were not compiled locally; they rely on the Linux CI job.

Screenshots / Logs (if applicable)

N/A

Document test helpers, platform stubs, compile-contract probes and capacity
assumptions. Loop-based assertions now report the failing index, length or
value via TEST_ASSERT_*_MESSAGE and a diag() helper.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@petesramek
petesramek added this pull request to stack #61 October 28, 2026 14:42
@petesramek
petesramek merged commit c7755dd into remedation Oct 28, 2026
8 of 9 checks passed
petesramek added a commit that referenced this pull request Oct 28, 2026
#62)

* status.h replaced with ackresult

* ackmessage rewritten

* updated ackmessage

* added telemetryevent.h

* updated stats.h

* updated stats.h

* updated messagetype.h

* updated version.h

* updated handshakemessage.h

* update logmessage.h

* update loglevel

* updated state.h

* updated fletche16.h

* update cobscodec.h

* updated packet.h

* removed packed.h

* rtemoved duplicate code

* updated tinylink.h

* updated adapters

* removed plan folder

* added skills

* removed tests

* test: add native Fletcher-16 suite (#32)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test: add comprehensive TinyLink native suite (#33)

* test: add native Fletcher-16 suite

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test: add comprehensive TinyLink native suite

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test: cover remaining native components (#34)

* test: add native Fletcher-16 suite

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test: add comprehensive TinyLink native suite

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test: cover remaining native components

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* readme

* switch prompt and result order

* merged src structure with large project flat structure issue.

* updated model

* feat(adapter): report transport write results (#52)

Add a shared result type and propagate accepted-byte counts from all built-in adapters. Expand native adapter stubs and tests for complete, partial, failed, and zero-length writes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* feat(engine): handle transport write results (#53)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* feat(engine): require trivially copyable payloads (#54)

Enforce trivially copyable payload types on all toolchains including AVR, document opaque-byte portability limits, and add compile-contract checks.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix: saturating engine telemetry and ACK sequence validity (layer 4) (#55)

* Saturate engine telemetry and validate ACK sequence

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* docs: changelog for stats saturation and ACK validity

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* fix(lifecycle): recover from transport loss (#56)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test(adapters): cover POSIX adapter with PTYs (#57)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test: organize suites by responsibility and split TinyLink tests (#58)

Move suites to test/suites, isolate platform stubs under test/support/stubs, and split the TinyLink suite into behavior files. All 142 registrations preserved.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* test: document infrastructure and improve loop assertion diagnostics (#59)

* test: document infrastructure and improve loop assertion diagnostics

Document test helpers, platform stubs, compile-contract probes and capacity
assumptions. Loop-based assertions now report the failing index, length or
value via TEST_ASSERT_*_MESSAGE and a diag() helper.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* build(test): enforce strict native warnings and add sanitizer CI (#60)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* removed cod etesting skill

* bumped version to 0.5.0

* fix: reconcile remedation merge with main duplicates (#63)

Restore the verified stacked implementation (src, tests, tools, CI) where the
main merge left duplicate TinyWriteResult/test files and broken TinyLink.h.
Drop duplicate README write-result section and obsolete scripts/ probe.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@petesramek
petesramek deleted the petesramek-test-docs-diagnostics branch October 28, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant