CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/unity-test-framework-c

Author and run ThrowTheSwitch Unity (the C unit-testing library) for bare-metal and RTOS C code. Distinct from the Unity game-engine Test Framework at docs.unity3d.com: this is the ThrowTheSwitch C testing library at throwtheswitch.org/unity, a single C file plus headers that runs on 8-bit MCUs through 64-bit hosts. Anchored on the Unity assertion API and configuration macros regardless of execution environment: the TEST_ASSERT_EQUAL_* / _FLOAT / _DOUBLE / _STRING / _MEMORY / _BITS assertion families, setUp/tearDown/RUN_TEST/UNITY_BEGIN/UNITY_END semantics and the exit-code contract, the generate_test_runner.rb generator, build-time config defines (UNITY_INCLUDE_DOUBLE, UNITY_OUTPUT_CHAR, UNITY_EXCLUDE_SETJMP), and CI integration via Ceedling JUnit XML; applies to host builds, cross-builds, and QEMU-run targets alike. For QEMU machine flags, semihosting, and exit-code capture, see qemu-system-test-runner. Use when the unit-under-test is pure C and the target ranges from 8-bit AVR to Cortex-M0 to Linux ARM.

79

Quality

99%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

100%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, highly actionable skill body: executable code and commands for host, cross, and QEMU targets, clear sequencing with validation checkpoints for CI, and clean progressive disclosure into two real reference files. Both referenced bundle files exist and match the inline citations.

DimensionReasoningScore

Conciseness

Assumes Claude's competence — it never explains what unit testing or C is — and every section delivers Unity-specific value (assertion API, build flags, QEMU/semihosting flags, exit-code contract) rather than padding; the minor Overview restatement is navigation, not filler. Not a 2 because there is no extraneous concept explanation to tighten.

3 / 3

Actionability

Provides fully executable, copy-paste-ready guidance: a complete minimal test .c with setUp/tearDown/main, a host gcc command, an arm-none-eabi cross-build + qemu-system-arm run command, a serial-output UNITY_OUTPUT_CHAR override, and a CI yaml in the reference — no pseudocode.

3 / 3

Workflow Clarity

Sequences authoring → building (host/cross) → running → parsing → CI with explicit validation checkpoints for the batch/CI operation — `! grep -q ':FAIL:' build/host.log`, `[ "$fails" -eq 0 ] || exit 1`, and the UNITY_END exit-code contract — so it is not capped at 2 for missing validation.

3 / 3

Progressive Disclosure

The body is a concise overview that signals one-level-deep references to real bundle files — 'The full assertion-family table ... are in references/assertion-api.md' and the CI pipeline 'is in references/ci-integration.md' — with content appropriately split (detailed API/config table and full CI yaml live in the references, not inline).

3 / 3

Total

12

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A dense but precise description that names concrete actions, natural trigger terms, an explicit Use-when clause, and an explicit disambiguation from the similarly-named game-engine framework. Voice is third person throughout, with no first/second person to penalize.

DimensionReasoningScore

Specificity

Lists multiple concrete actions and artifacts — 'Author and run', the TEST_ASSERT_EQUAL_* / _FLOAT / _DOUBLE / _STRING / _MEMORY / _BITS assertion families, 'generate_test_runner.rb', and 'CI integration via Ceedling JUnit XML' — far beyond vague domain naming, matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

Explicitly answers both what ('Author and run ThrowTheSwitch Unity ... for bare-metal and RTOS C code') and when ('Use when the unit-under-test is pure C and the target ranges from 8-bit AVR to Cortex-M0 to Linux ARM'), satisfying the explicit-trigger anchor.

3 / 3

Trigger Term Quality

Covers natural terms a user would actually say — 'unity', 'throwtheswitch', 'C unit-testing', 'bare-metal', 'RTOS', 'embedded', 'AVR', 'Cortex-M0', 'Ceedling', 'QEMU' — giving good coverage of common phrasings rather than only jargon.

3 / 3

Distinctiveness Conflict Risk

Explicitly disambiguates — 'Distinct from the Unity game-engine Test Framework at docs.unity3d.com' — carving a clear niche unlikely to trigger for the wrong skill.

3 / 3

Total

12

/

12

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents