ワンクリックで
pigweed-kernel-testing
// Instructions for running tests and lints for the Pigweed kernel (`pw_kernel`).
// Instructions for running tests and lints for the Pigweed kernel (`pw_kernel`).
Use for ALL documentation-related workflows: rst style guide, changelog updates, C/C++ API reference (Doxygen)
>-
Run toolchain binaries (objdump, nm, size, readelf, strip, etc) to disassemble code, list symbols, analyze binary size, and inspect ELF artifacts. MUST be used instead of system tools.
Guide to defining, implementing, and testing a new Pigweed RPC service in C++ using Nanopb, pw_protobuf, or raw methods.
Comprehensive workflow for reviewing Git patches and Gerrit Change Lists (CLs).
Instructions for working with Bluetooth code (pw_bluetooth_sapphire, pw_bluetooth_proxy, etc.) and the Bluetooth Core Specification.
| name | Pigweed Kernel Testing |
| description | Instructions for running tests and lints for the Pigweed kernel (`pw_kernel`). |
This skill provides instructions for running tests and lints for the Pigweed kernel (pw_kernel).
bazelisk: Always use bazelisk instead of bazel.--config: All kernel code must be built/tested with a --config argument. Configs are defined in //pw_kernel/kernel.bazelrc and are prefixed with k_.--config can be expensive due to rebuilds. Prefer iterating and fixing issues on a single config before switching to another.Configurations are defined in //workflows.json under the kernel group. Common ones include:
k_host: Host builds and tests.k_qemu_mps2_an505: ARM QEMU emulation.k_qemu_virt_riscv32: RISC-V QEMU emulation.k_rp2350: Raspberry Pi RP2350 (note: may have no_test set).k_doctest: Rust doc tests (takes a long time to execute).To run tests for a specific configuration:
bazelisk test --config=k_host //pw_kernel/...
To run a specific test:
bazelisk test --config=k_host //pw_kernel/kernel/tests:scheduler_test
[!NOTE] Use
--noshow_progress --noshow_loading_progressto reduce output in agent contexts if needed.
[!TIP] Use
--test_timeout=10 --test_output=allto catch tests which do not terminate.
The kernel build steps named like k_*_lint should be run to provide Rust linting for the code. These are defined in workflows.json.
Example for linting on host:
bazelisk build --config=k_lint --config=k_host //pw_kernel/...
Run these from the repository root:
./pw format./pw presubmitUse this skill when you need to run tests, lints, or verify changes in the pw_kernel module. This ensures you use the correct configurations and tools as defined by the project.