CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/googletest-embedded-arm

Author and run GoogleTest 1.17+ for embedded C++ on ARM targets - TEST() / TEST_F() / TEST_P() / TYPED_TEST(), EXPECT_* vs ASSERT_* assertions, fixtures with SetUp() / TearDown(), value-parameterised tests, GoogleMock when paired, cross-compile with arm-none-eabi-g++, run on host or under QEMU via the qemu-system-test-runner skill, --gtest_filter / --gtest_output=xml:results.xml / --gtest_shuffle / --gtest_repeat command-line flags, and XML / JSON output parsing for CI. Use when the unit-under-test is C++ (modern C++17+) and the team wants the de-facto C++ test framework instead of the C-only Unity. For C use unity-test-framework-c; for pure C mocks see the CMock reference in ceedling-build-runner.

72

Quality

90%

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

86%Weight 40%Scale 1-5

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

A highly operational body: copy-paste host and QEMU recipes, a genuinely useful anti-patterns table with concrete fixes, honest limitations, and clean two-file progressive disclosure verified against the actual bundle. The only trim available is the verbatim Primer quotes and the generic Overview paragraph.

DimensionReasoningScore

Conciseness

The body is dense with operational material - tables, complete commands, and embedded-specific invariants ('-DGTEST_HAS_PTHREAD=0 is mandatory on bare-metal M-profile', 'no fork() on bare-metal'). Minor over-explanation remains: verbatim Primer quotes restating what TEST() arguments mean and EXPECT vs ASSERT basics, and an Overview explaining what GoogleTest is - all things Claude already knows.

4 / 5

Actionability

Fully executable end to end: complete TEST()/TEST_F() examples, host 'cmake -S . -B build-host && cmake --build build-host' run, the full arm-none-eabi-g++ cross-compile command with every required flag (-DGTEST_HAS_PTHREAD=0, --specs=rdimon.specs, -lrdimon), and a concrete QEMU invocation with machine model and exit-code check. Not 4: the commands are copy-paste ready and cover both the host and QEMU common cases.

5 / 5

Workflow Clarity

'How to use' gives a numbered 5-step sequence and the Worked example runs author -> host build -> cross-compile -> QEMU -> XML gate, with explicit checkpoints (expected '[ PASSED ] 2 tests.' output, 'echo $?', 'gate the host job on the JUnit XML and the QEMU job on the semihosting exit code'). Not 5: no error-recovery loop (what to do when the gate fails) is described; not 3: checkpoints are explicit, not implicit.

4 / 5

Progressive Disclosure

The body keeps core authoring, the worked example, flags, anti-patterns, and limitations inline while deep material (TEST_P / TYPED_TEST / death tests; full flag set, XML/JSON schema, CI YAML) is split into two real one-level-deep bundle files, signaled with inline markdown links at each point of need plus a References section. Both referenced files (references/authoring-variants.md, references/cross-compile-and-ci.md) exist and contain the promised content.

5 / 5

Total

18

/

20

Passed

Description

92%Weight 40%Scale 1-5

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 near-model description: comprehensive what with an explicit, concrete 'Use when' trigger clause and explicit routing to sibling skills for the C and mock-heavy cases. The only gap is that the most colloquial trigger words ('gtest' standalone, 'unit test') appear only implicitly via flag names and phrasing.

DimensionReasoningScore

Specificity

Multiple concrete actions with full specificity: 'Author and run GoogleTest 1.17+ for embedded C++ on ARM targets', 'cross-compile with arm-none-eabi-g++', 'run on host or under QEMU', 'XML / JSON output parsing for CI', plus named macros, assertion families, and flags. Not 4: coverage spans authoring, building, running, and CI gating with no meaningful gap.

5 / 5

Completeness

Explicitly answers both: what is 'Author and run GoogleTest 1.17+ for embedded C++ on ARM targets' (with enumerated capabilities), and when is 'Use when the unit-under-test is C++ (modern C++17+) and the team wants the de-facto C++ test framework instead of the C-only Unity' - a concrete, explicit trigger clause. Not 4: the when clause is already explicit and specific.

5 / 5

Trigger Term Quality

Good natural-term coverage: 'GoogleTest', 'embedded C++', 'ARM', 'cross-compile', 'QEMU', 'C++17', 'unit-under-test', 'Unity', 'CMock', 'test framework'. Not 5: the colloquial standalone 'gtest' and the phrase 'unit test' never appear as natural trigger words (gtest shows up only inside flag names), and Cortex-M / Cortex-A live in metadata keywords rather than the description. Not 3: broad, natural coverage with only a few synonyms missing.

4 / 5

Distinctiveness Conflict Risk

Clear niche (GoogleTest, embedded C++ on ARM) with explicit routing away from siblings: 'For C use unity-test-framework-c; for pure C mocks see the CMock reference in ceedling-build-runner'. Not 4: the disambiguation against the nearest competing skills is already written out, leaving minimal overlap risk.

5 / 5

Total

19

/

20

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 3 missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents