agentsclimarketplace

Unity ceedling test

Skill a5c-ai/babysitter/library/specializations/embedded-systems/skills/unity-ceedling-test

Babysitter enforces obedience on agentic workforces and enables them to manage extremely complex tasks and workflows through deterministic, hallucination-free self-orchestration

Install
npx -y skills add a5c-ai/babysitter --skill unity-ceedling-test

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Embedded unit testing with Unity framework and CMock

SKILL.md

3.1 KB, as published. Nobody here has run it

Unity/Ceedling Test Skill

Overview

This skill provides embedded unit testing capabilities using the Unity test framework, CMock mock generation, and Ceedling build system for comprehensive off-target and on-target testing.

Capabilities

Unity Test Framework

  • Test case generation
  • Assertion macro usage
  • Test fixture setup/teardown
  • Test group organization
  • Parameterized tests
  • Custom assertions

CMock Mock Generation

  • Automatic mock generation from headers
  • HAL/driver mocking strategies
  • Callback mocking
  • Argument capture and validation
  • Return value configuration
  • Call count verification

Ceedling Build System

  • Project configuration (project.yml)
  • Test runner generation
  • Coverage integration
  • Compiler configuration
  • Plugin management
  • CI/CD integration

Hardware Abstraction Mocking

  • Register mock strategies
  • DMA mock patterns
  • Interrupt mock handling
  • Timing mock approaches
  • State machine mocking

Test Coverage

  • gcov integration
  • lcov report generation
  • Branch coverage analysis
  • MC/DC coverage (for safety)
  • Coverage threshold enforcement

Off-Target Testing

  • Host compilation setup
  • Platform abstraction
  • Stub implementation
  • Double buffering for DMA
  • Fake timer implementations

Target Processes

  • embedded-unit-testing.js - Unit test implementation
  • device-driver-development.js - Driver testing
  • bsp-development.js - BSP unit testing

Dependencies

  • Unity test framework
  • CMock mock generator
  • Ceedling build system (optional)
  • gcov/lcov for coverage

Usage Context

This skill is invoked when tasks require:

  • Unit test development
  • Mock generation for drivers
  • Test coverage analysis
  • Off-target testing setup
  • TDD for embedded

Project Structure

project/
  src/
    driver.c
    driver.h
  test/
    test_driver.c
    support/
      test_helper.c
  build/
    test/
    artifacts/
  project.yml

Configuration Example (project.yml)

:project:
  :build_root: build/
  :test_file_prefix: test_
  :use_exceptions: FALSE

:paths:
  :test:
    - test/**
  :source:
    - src/**
  :include:
    - inc/**

:cmock:
  :mock_prefix: mock_
  :when_no_prototypes: :warn
  :enforce_strict_ordering: TRUE
  :plugins:
    - :ignore
    - :callback
    - :return_thru_ptr

:plugins:
  :enabled:
    - gcov
    - xml_tests_report

Test Example

#include "unity.h"
#include "driver.h"
#include "mock_hal_spi.h"

void setUp(void) {
    driver_init();
}

void tearDown(void) {
    driver_deinit();
}

void test_driver_sends_correct_command(void) {
    uint8_t expected[] = {0x01, 0x02, 0x03};

    HAL_SPI_Transmit_ExpectWithArrayAndReturn(
        SPI1, expected, 3, 3, 100, HAL_OK);

    TEST_ASSERT_EQUAL(DRIVER_OK, driver_send_command(0x01));
}

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.