No description
Find a file
Yuval Peress ab1caef8c3 ztest: Update ztest with more powerful testing APIs
1. Test suites in prior ztest serve no purpose other than logical
ordering of tests into a named-group. Move the construct of setup and
teardown into the test suite and away from individual tests.
Additionally, add the constructs of before/after to the test suites.
This model more closely resembels other testing frameworks such as gTest
and Junit.
2. Test can be added to a suite by using ZTEST() or ZTEST_F() where _F
stands for fixture. In the case where _F is used, the argument `this`
will be provided with the type `struct suite_name##_fixture*`. Again,
this models other modern testing frameworks and allows the test to
directly access the already set up data related to the test suite.
3. Add the concept of test rules (from Junit). Rules are similar to the
before/after functions of the test suites but are global and run on all
suites. An example of a test rule can be to check that nothing was
logged to ERROR. The rule can cause the test to fail if anything was
logged to ERROR during an integration test. Another example would be a
rule that verifies that tests ran within some defined timeout.

Signed-off-by: Yuval Peress <peress@google.com>
2022-01-11 11:47:30 +01:00
.buildkite ci: Update to Zephyr SDK 0.13.2 2021-11-25 06:58:45 -05:00
.github ci: doc-build: use --no-verbose when using wget 2022-01-07 10:41:59 -05:00
arch arch: riscv: pmp: add PMP protection of code and rodata 2022-01-11 11:47:03 +01:00
boards soc: riscv: virt: enable RISC-V PMP support 2022-01-11 11:47:03 +01:00
cmake cmake: linker: Use depfile for Makefile generators 2022-01-10 09:49:11 -06:00
doc doc: Document pipe flush routines 2022-01-10 12:17:14 -05:00
drivers drivers: serial: ns16550: use pm_state_cpu_get_all 2022-01-11 10:46:20 +01:00
dts dts: sparc: add cpus node to leon3 2022-01-11 10:46:20 +01:00
include ztest: Update ztest with more powerful testing APIs 2022-01-11 11:47:30 +01:00
kernel kernel: pipes: add pipe flush routines 2022-01-10 12:17:14 -05:00
lib lib: os/heap: fix bytes freed calculation for heap listener 2022-01-10 21:27:28 -05:00
misc cmake: kconfig: fix issue if Kconfig symbol name contains lower case 2021-11-18 13:56:07 +01:00
modules modules: mcux: add support for indicating the presence of MCAN 2022-01-10 12:00:20 +01:00
samples ztest: Update ztest with more powerful testing APIs 2022-01-11 11:47:30 +01:00
scripts twister: fix skip marked as pass in json report 2022-01-06 07:55:16 -05:00
share cmake: check zephyr version if specified and ZEPHYR_BASE is set 2021-05-25 16:48:35 -05:00
soc soc: riscv: virt: enable RISC-V PMP support 2022-01-11 11:47:03 +01:00
submanifests west.yml: allow users to easily add more modules 2021-10-07 13:45:42 +02:00
subsys ztest: Update ztest with more powerful testing APIs 2022-01-11 11:47:30 +01:00
tests ztest: Update ztest with more powerful testing APIs 2022-01-11 11:47:30 +01:00
.checkpatch.conf checkpatch: Ignore IS_ENABLED_CONFIG warnings 2021-10-18 08:28:01 -04:00
.clang-format clang-format: Change lines length limit from 80 to 100 2021-05-06 08:13:32 -05:00
.codecov.yml
.editorconfig
.gitattributes gitattributes: consider SVG files generated 2021-10-14 12:42:44 -04:00
.gitignore gitignore: ignore macos DS_Store files 2021-11-03 16:14:20 -04:00
.gitlint gitlint: Stop ignoring merge, revert, fixup and squash commits 2022-01-10 08:13:36 -05:00
.mailmap mailmap: update mailmap file with some stray emails 2021-06-17 14:15:41 -04:00
.uncrustify.cfg uncrustify: force a single EOF newline 2021-11-03 16:14:20 -04:00
CMakeLists.txt cmake: drop -fno-strict-overflow for better performance 2022-01-10 08:37:07 -05:00
CODE_OF_CONDUCT.md
CODEOWNERS CODEOWNERS: update getopt library location 2022-01-06 21:26:59 +01:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr soc: esp32: add support to mcuboot build 2021-12-18 07:20:38 -05:00
LICENSE
MAINTAINERS.yml MAINTAINERS: update collaborators for audio 2022-01-05 19:40:03 -05:00
README.rst doc: replace buildkite with github actions 2021-11-24 12:37:30 -05:00
VERSION VERSION: bump main branch to 2.7.99 2021-09-30 06:36:53 -04:00
version.h.in
west.yml manifest: openthread upmerge up to commit a04a68b5 2022-01-07 12:48:27 -05:00
zephyr-env.cmd
zephyr-env.sh

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/_static/images/logo-readme.png">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a
   href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain">
   <img
   src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM Cortex-M,
Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and a large number of
`supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
  this `Discord Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Discord Invite: https://chat.zephyrproject.org
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/getting_started/index.html#asking-for-help