summaryrefslogtreecommitdiff
path: root/doc/develop
diff options
context:
space:
mode:
Diffstat (limited to 'doc/develop')
-rw-r--r--doc/develop/bitbangmii.rst75
-rw-r--r--doc/develop/bootstd/overview.rst5
-rw-r--r--doc/develop/driver-model/design.rst6
-rw-r--r--doc/develop/index.rst1
-rw-r--r--doc/develop/py_testing.rst41
-rw-r--r--doc/develop/release_cycle.rst31
-rw-r--r--doc/develop/statistics/u-boot-stats-v2025.04.rst788
-rw-r--r--doc/develop/tests_writing.rst64
8 files changed, 937 insertions, 74 deletions
diff --git a/doc/develop/bitbangmii.rst b/doc/develop/bitbangmii.rst
new file mode 100644
index 00000000000..35a4a0cb7f9
--- /dev/null
+++ b/doc/develop/bitbangmii.rst
@@ -0,0 +1,75 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+.. Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com>, Industrie Dial Face S.p.A., 2009
+
+Bit-banged MII bus support
+==========================
+
+The miiphybb ( Bit-banged MII bus driver ) supports an arbitrary number of
+MII buses. This feature is useful when a driver uses different MII buses for
+different PHYs and all (or a part) of these buses are implemented via
+bit-banging mode.
+
+The driver requires that the following macro is defined in the board
+configuration file:
+
+* CONFIG_BITBANGMII - Enable the miiphybb driver
+
+The driver code needs to allocate a regular MDIO device using mdio_alloc()
+and assign .read and .write accessors which wrap bb_miiphy_read() and
+bb_miiphy_write() functions respectively. The bb_miiphy_read() and
+bb_miiphy_write() functions take a pointer to a callback structure,
+struct bb_miiphy_bus_ops. The struct bb_miiphy_bus_ops has the following
+fields/callbacks (see miiphy.h for details):
+
+.. code-block:: c
+
+ int (*mdio_active)() // Activate the MDIO pin as output
+ int (*mdio_tristate)() // Activate the MDIO pin as input/tristate pin
+ int (*set_mdio)() // Write the MDIO pin
+ int (*get_mdio)() // Read the MDIO pin
+ int (*set_mdc)() // Write the MDC pin
+ int (*delay)() // Delay function
+
+The driver code will look like:
+
+.. code-block:: c
+
+ static const struct bb_miiphy_bus_ops ravb_bb_miiphy_bus_ops = {
+ .mdio_active = ravb_bb_mdio_active,
+ .mdio_tristate = ravb_bb_mdio_tristate,
+ .set_mdio = ravb_bb_set_mdio,
+ .get_mdio = ravb_bb_get_mdio,
+ .set_mdc = ravb_bb_set_mdc,
+ .delay = ravb_bb_delay,
+ };
+
+ static int ravb_bb_miiphy_read(struct mii_dev *miidev, int addr,
+ int devad, int reg)
+ {
+ return bb_miiphy_read(miidev, &ravb_bb_miiphy_bus_ops,
+ addr, devad, reg);
+ }
+
+ static int ravb_bb_miiphy_write(struct mii_dev *miidev, int addr,
+ int devad, int reg, u16 value)
+ {
+ return bb_miiphy_write(miidev, &ravb_bb_miiphy_bus_ops,
+ addr, devad, reg, value);
+ }
+
+ static int ravb_probe(struct udevice *dev)
+ {
+ struct mii_dev *mdiodev;
+ ...
+ mdiodev = mdio_alloc();
+ if (!mdiodev)
+ return -ENOMEM;
+
+ mdiodev->read = ravb_bb_miiphy_read;
+ mdiodev->write = ravb_bb_miiphy_write;
+ mdiodev->priv = eth;
+ snprintf(mdiodev->name, sizeof(mdiodev->name), dev->name);
+
+ ret = mdio_register(mdiodev);
+ ...
+ }
diff --git a/doc/develop/bootstd/overview.rst b/doc/develop/bootstd/overview.rst
index e3ce97cc4f5..9fe5630ab16 100644
--- a/doc/develop/bootstd/overview.rst
+++ b/doc/develop/bootstd/overview.rst
@@ -235,8 +235,9 @@ means that `default_get_bootflow()` is used. This simply obtains the
block device and calls a bootdev helper function to do the rest. The
implementation of `bootdev_find_in_blk()` checks the partition table, and
attempts to read a file from a filesystem on the partition number given by the
-`@iter->part` parameter. If there are any bootable partitions in the table,
-then only bootable partitions are considered.
+`@iter->part` parameter. If there are any bootable partitions in the table and
+the BOOTFLOWIF_ONLY_BOOTABLE flag is set in `@iter->flags`, then only bootable
+partitions are considered.
Each bootdev has a priority, which indicates the order in which it is used,
if `boot_targets` is not used. Faster bootdevs are used first, since they are
diff --git a/doc/develop/driver-model/design.rst b/doc/develop/driver-model/design.rst
index 92f638a0204..30093737200 100644
--- a/doc/develop/driver-model/design.rst
+++ b/doc/develop/driver-model/design.rst
@@ -843,8 +843,10 @@ steps (see device_probe()):
activated and 'known' by the uclass.
For some platforms, certain devices must be probed to get the platform into
-a working state. To help with this, drivers marked with DM_FLAG_PROBE_AFTER_BIND
-will be probed immediately after all devices are bound. For now, this happens in
+a working state. To help with this, devices marked with DM_FLAG_PROBE_AFTER_BIND
+will be probed immediately after all devices are bound. This flag must be set
+on the device in its ``bind()`` function with
+``dev_or_flags(dev, DM_FLAG_PROBE_AFTER_BIND)``. For now, this happens in
SPL, before relocation and after relocation. See the call to ``dm_autoprobe()``
for where this is done.
diff --git a/doc/develop/index.rst b/doc/develop/index.rst
index d9f2a838207..c907f8c9c2c 100644
--- a/doc/develop/index.rst
+++ b/doc/develop/index.rst
@@ -9,6 +9,7 @@ General
.. toctree::
:maxdepth: 1
+ bitbangmii
board_best_practices
codingstyle
designprinciples
diff --git a/doc/develop/py_testing.rst b/doc/develop/py_testing.rst
index b50473039be..502053f09fc 100644
--- a/doc/develop/py_testing.rst
+++ b/doc/develop/py_testing.rst
@@ -41,13 +41,11 @@ will be required. The following is an incomplete list:
* dfu-util
* dtc
* openssl
-* sudo OR guestmount
* e2fsprogs
* util-linux
* coreutils
* dosfstools
* efitools
-* guestfs-tools
* mount
* mtools
* sbsigntool
@@ -64,23 +62,12 @@ The test script supports either:
physical board, attach to the board's console stream, and reset the board.
Further details are described later.
-The usage of command 'sudo' should be avoided in tests. To create disk images
-use command virt-make-fs which is provided by package guestfs-tools. This
-command creates a virtual machine with QEMU in which the disk image is
-generated.
-
-Command virt-make-fs needs read access to the current kernel. On Ubuntu only
-root has this privilege. You can add a script /etc/initramfs-tools/hooks/vmlinuz
-with the following content to overcome the problem:
-
-.. code-block:: bash
-
- #!/bin/sh
- echo "chmod a+r vmlinuz-*"
- chmod a+r /boot/vmlinuz-*
-
-The script should be chmod 755. It will be invoked whenever the initial RAM file
-system is updated.
+The usage of the command 'sudo' is not allowed in tests. Using elevated
+priviledges can lead to security concerns. Furthermore not all users may have
+administrator rights. Therefore the command 'sudo' must not be used in tests.
+To create disk images we have helper functions located in
+`test/py/tests/fs_helper.py` which shall be used in any tests that require
+creating disk images.
Using `virtualenv` to provide requirements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -125,7 +112,7 @@ browser, but may be read directly as plain text, perhaps with the aid of the
If sandbox crashes (e.g. with a segfault) you will see message like this::
- test/py/u_boot_spawn.py:171: in expect
+ test/py/spawn.py:171: in expect
c = os.read(self.fd, 1024).decode(errors='replace')
E ValueError: U-Boot exited with signal 11 (Signals.SIGSEGV)
@@ -506,24 +493,24 @@ Writing tests
Please refer to the pytest documentation for details of writing pytest tests.
Details specific to the U-Boot test suite are described below.
-A test fixture named `u_boot_console` should be used by each test function. This
+A test fixture named `ubman` should be used by each test function. This
provides the means to interact with the U-Boot console, and retrieve board and
environment configuration information.
-The function `u_boot_console.run_command()` executes a shell command on the
+The function `ubman.run_command()` executes a shell command on the
U-Boot console, and returns all output from that command. This allows
validation or interpretation of the command output. This function validates
that certain strings are not seen on the U-Boot console. These include shell
error messages and the U-Boot sign-on message (in order to detect unexpected
-board resets). See the source of `u_boot_console_base.py` for a complete list of
+board resets). See the source of `console_base.py` for a complete list of
"bad" strings. Some test scenarios are expected to trigger these strings. Use
-`u_boot_console.disable_check()` to temporarily disable checking for specific
+`ubman.disable_check()` to temporarily disable checking for specific
strings. See `test_unknown_cmd.py` for an example.
Board- and board-environment configuration values may be accessed as sub-fields
-of the `u_boot_console.config` object, for example
-`u_boot_console.config.ram_base`.
+of the `ubman.config` object, for example
+`ubman.config.ram_base`.
Build configuration values (from `.config`) may be accessed via the dictionary
-`u_boot_console.config.buildconfig`, with keys equal to the Kconfig variable
+`ubman.config.buildconfig`, with keys equal to the Kconfig variable
names.
diff --git a/doc/develop/release_cycle.rst b/doc/develop/release_cycle.rst
index b6ad7218614..cbbc2bad0eb 100644
--- a/doc/develop/release_cycle.rst
+++ b/doc/develop/release_cycle.rst
@@ -51,14 +51,15 @@ Examples::
Current Status
--------------
-* U-Boot v2025.01 was released on Mon 06 January 2025.
+* U-Boot v2025.04 was released on Monday, 07 April 2025.
-* The Merge Window for the next release (v2025.04) is **closed**.
+* The Merge Window for the next release (v2025.07) is **open** until the -rc1
+ release on Monday, 28 April 2025.
-* The next branch is now **open** with the -rc2 release on Mon 10 February
+* The next branch is now **closed** until the -rc2 release on Monday, 12 May
2025.
-* Release "v2025.04" is scheduled for 07 April 2025.
+* Release "v2025.07" is scheduled for Monday, 07 July 2025.
Future Releases
---------------
@@ -66,28 +67,28 @@ Future Releases
.. The following commented out dates are for when release candidates are
planned to be tagged.
-For the next scheduled release, release candidates were made on::
+.. For the next scheduled release, release candidates were made on::
-* U-Boot v2025.04-rc1 was released on Mon 27 January 2025.
+.. * U-Boot v2025.07-rc1 was released on Mon 21 April 2025.
-* U-Boot v2025.04-rc2 was released on Mon 10 February 2025.
+.. * U-Boot v2025.07-rc2 was released on Mon 12 May 2025.
-* U-Boot v2025.04-rc3 was released on Mon 24 February 2025.
+.. * U-Boot v2025.07-rc3 was released on Mon 26 May 2025.
-.. * U-Boot v2025.04-rc4 was released on Mon 10 March 2025.
+.. * U-Boot v2025.07-rc4 was released on Mon 09 June 2025.
-.. * U-Boot v2025.04-rc5 was released on Mon 24 March 2025.
+.. * U-Boot v2025.07-rc5 was released on Mon 23 June 2025.
Please note that the following dates are planned only and may be deviated from
as needed.
-* "v2025.04": end of MW = Mon, Jan 27, 2025; release = Mon, Apr 07, 2025
+* "v2025.07": end of MW = Mon, Apr 28, 2025; release = Mon, Jul 07, 2025
-* "v2025.07": end of MW = Mon, Apr 21, 2025; release = Mon, Jul 07, 2025
+* "v2025.10": end of MW = Mon, Jul 28, 2025; release = Mon, Oct 06, 2025
-* "v2025.10": end of MW = Mon, Jul 21, 2025; release = Mon, Oct 06, 2025
+* "v2026.01": end of MW = Mon, Oct 27, 2025; release = Mon, Jan 05, 2026
-* "v2026.01": end of MW = Mon, Oct 20, 2025; release = Mon, Jan 05, 2026
+* "v2025.04": end of MW = Mon, Jan 26, 2026; release = Mon, Apr 06, 2026
Previous Releases
-----------------
@@ -96,6 +97,8 @@ Note: these statistics are generated by our fork of `gitdm
<https://source.denx.de/u-boot/gitdm>`_, which was originally created by
Jonathan Corbet.
+* :doc:`statistics/u-boot-stats-v2025.04` which was released on 07 April 2025.
+
* :doc:`statistics/u-boot-stats-v2025.01` which was released on 06 January 2025.
* :doc:`statistics/u-boot-stats-v2024.10` which was released on 07 October 2024.
diff --git a/doc/develop/statistics/u-boot-stats-v2025.04.rst b/doc/develop/statistics/u-boot-stats-v2025.04.rst
new file mode 100644
index 00000000000..47944616e25
--- /dev/null
+++ b/doc/develop/statistics/u-boot-stats-v2025.04.rst
@@ -0,0 +1,788 @@
+:orphan:
+
+Release Statistics for U-Boot v2025.04
+======================================
+
+* Processed 1264 changesets from 176 developers
+
+* 25 employers found
+
+* A total of 221825 lines added, 99018 removed (delta 122807)
+
+.. table:: Developers with the most changesets
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Simon Glass 222 (17.6%)
+ Marek Vasut 106 (8.4%)
+ Jonas Karlman 69 (5.5%)
+ Heinrich Schuchardt 58 (4.6%)
+ Tom Rini 51 (4.0%)
+ Weijie Gao 40 (3.2%)
+ Michal Simek 31 (2.5%)
+ Peng Fan 29 (2.3%)
+ Raymond Mao 26 (2.1%)
+ Adriano Cordova 25 (2.0%)
+ Patrice Chotard 23 (1.8%)
+ Ilias Apalodimas 22 (1.7%)
+ Neil Armstrong 19 (1.5%)
+ Heiko Schocher 17 (1.3%)
+ Christian Marangi 15 (1.2%)
+ Hal Feng 14 (1.1%)
+ Sam Protsenko 14 (1.1%)
+ J. Neuschäfer 13 (1.0%)
+ Svyatoslav Ryhel 13 (1.0%)
+ Venkatesh Yadav Abbarapu 12 (0.9%)
+ Mikhail Kshevetskiy 12 (0.9%)
+ Jerome Forissier 9 (0.7%)
+ Stefan Eichenberger 9 (0.7%)
+ Daniel Schultz 9 (0.7%)
+ Caleb Connolly 9 (0.7%)
+ Santhosh Kumar K 9 (0.7%)
+ Philippe Reynes 9 (0.7%)
+ Paul HENRYS 9 (0.7%)
+ Tianling Shen 8 (0.6%)
+ Wadim Egorov 8 (0.6%)
+ Neha Malcom Francis 8 (0.6%)
+ Vaishnav Achath 8 (0.6%)
+ Andre Przywara 7 (0.6%)
+ Yannic Moog 7 (0.6%)
+ Udit Kumar 6 (0.5%)
+ Judith Mendez 6 (0.5%)
+ Andrew Goodbody 6 (0.5%)
+ Ibai Erkiaga 6 (0.5%)
+ Tim Harvey 6 (0.5%)
+ Manorit Chawdhry 6 (0.5%)
+ Evgeny Bachinin 6 (0.5%)
+ Yuri Zaporozhets 6 (0.5%)
+ Richard Weinberger 6 (0.5%)
+ Guillaume La Roque 6 (0.5%)
+ Enrico Leto 6 (0.5%)
+ Varadarajan Narayanan 5 (0.4%)
+ Jayesh Choudhary 5 (0.4%)
+ Junhui Liu 5 (0.4%)
+ Christoph Niedermaier 5 (0.4%)
+ Fabio Estevam 4 (0.3%)
+ Yao Zi 4 (0.3%)
+ Sam Edwards 4 (0.3%)
+ Ye Li 4 (0.3%)
+ Padmarao Begari 4 (0.3%)
+ Liya Huang 4 (0.3%)
+ Siddharth Vadapalli 4 (0.3%)
+ Michael Chang 4 (0.3%)
+ Love Kumar 4 (0.3%)
+ Alexander Dahl 4 (0.3%)
+ Boon Khai Ng 4 (0.3%)
+ Bryan Brattlof 4 (0.3%)
+ Alexander Sverdlin 4 (0.3%)
+ Aparna Patra 4 (0.3%)
+ Garrett Giordano 4 (0.3%)
+ Yunus Bas 4 (0.3%)
+ Reid Tonking 4 (0.3%)
+ Zixun LI 4 (0.3%)
+ Alexey Romanov 4 (0.3%)
+ Leonard Anderweit 3 (0.2%)
+ Mattijs Korpershoek 3 (0.2%)
+ E Shattow 3 (0.2%)
+ Sam Day 3 (0.2%)
+ Johan Jonker 3 (0.2%)
+ Paul Kocialkowski 3 (0.2%)
+ Anurag Dutta 3 (0.2%)
+ Yu-Chien Peter Lin 3 (0.2%)
+ Duje Mihanović 3 (0.2%)
+ david regan 3 (0.2%)
+ Dmitry Rokosov 3 (0.2%)
+ FUKAUMI Naoki 3 (0.2%)
+ Maksim Kiselev 3 (0.2%)
+ Thomas Bonnefille 3 (0.2%)
+ Christoph Stoidner 3 (0.2%)
+ Rasmus Villemoes 3 (0.2%)
+ Heiko Stuebner 2 (0.2%)
+ Vincent Stehlé 2 (0.2%)
+ Fiona Klute 2 (0.2%)
+ Benjamin Lemouzy 2 (0.2%)
+ Maks Mishin 2 (0.2%)
+ Patrick Delaunay 2 (0.2%)
+ Aashvij Shenai 2 (0.2%)
+ Prasad Kummari 2 (0.2%)
+ Sam Shih 2 (0.2%)
+ Mark Tomlinson 2 (0.2%)
+ Rufus Segar 2 (0.2%)
+ Jim Liu 2 (0.2%)
+ Andrey Skvortsov 2 (0.2%)
+ Christopher Obbard 2 (0.2%)
+ Alice Guo 2 (0.2%)
+ Mayuresh Chitale 2 (0.2%)
+ Shree Ramamoorthy 2 (0.2%)
+ Lothar Rubusch 2 (0.2%)
+ Frank Sae 2 (0.2%)
+ Kongyang Liu 2 (0.2%)
+ Gokul Praveen 2 (0.2%)
+ Benedikt Spranger 2 (0.2%)
+ Andrew Davis 1 (0.1%)
+ Quentin Schulz 1 (0.1%)
+ Paul Barker 1 (0.1%)
+ Michael Walle 1 (0.1%)
+ Kory Maincent 1 (0.1%)
+ Ben Schneider 1 (0.1%)
+ Hendrik Donner 1 (0.1%)
+ Peter Robinson 1 (0.1%)
+ Martin Stolpe 1 (0.1%)
+ Andrea della Porta 1 (0.1%)
+ Diederik de Haas 1 (0.1%)
+ Sumit Garg 1 (0.1%)
+ Greg Malysa 1 (0.1%)
+ Kever Yang 1 (0.1%)
+ Justin Klaassen 1 (0.1%)
+ Julius Lehmann 1 (0.1%)
+ Joao Marcos Costa 1 (0.1%)
+ Chen-Yu Tsai 1 (0.1%)
+ Gao Xiang 1 (0.1%)
+ ZHANG Yuntian 1 (0.1%)
+ Nathan Morrisson 1 (0.1%)
+ Michael Ferolito 1 (0.1%)
+ Benjamin Szőke 1 (0.1%)
+ John Crispin 1 (0.1%)
+ Huan Zhou 1 (0.1%)
+ Josua Mayer 1 (0.1%)
+ Tony Dinh 1 (0.1%)
+ Michael Trimarchi 1 (0.1%)
+ Alif Zakuan Yuslaimi 1 (0.1%)
+ Muhammad Hazim Izzat Zamri 1 (0.1%)
+ Julien Masson 1 (0.1%)
+ Igor Opaniuk 1 (0.1%)
+ Aaron Kling 1 (0.1%)
+ Chanho Park 1 (0.1%)
+ Ronald Wahl 1 (0.1%)
+ Vignesh Raghavendra 1 (0.1%)
+ Tengfei Fan 1 (0.1%)
+ Patrick Rudolph 1 (0.1%)
+ Jonathan Humphreys 1 (0.1%)
+ Roger Quadros 1 (0.1%)
+ Beleswar Padhi 1 (0.1%)
+ Jesse Taube 1 (0.1%)
+ Norbert van Bolhuis 1 (0.1%)
+ Andy Yan 1 (0.1%)
+ Sébastien Szymanski 1 (0.1%)
+ Georgi Vlaev 1 (0.1%)
+ Vincent Fazio 1 (0.1%)
+ Jonathan Stroud 1 (0.1%)
+ Neal Frager 1 (0.1%)
+ Naman Trivedi 1 (0.1%)
+ Daniel Semkowicz 1 (0.1%)
+ Cristian Ciocaltea 1 (0.1%)
+ Jacobe Zang 1 (0.1%)
+ Yang Gang 1 (0.1%)
+ Olivier L'Heureux 1 (0.1%)
+ Aleksandar Gerasimovski 1 (0.1%)
+ Sean Edmond 1 (0.1%)
+ Markus Gothe 1 (0.1%)
+ Prasanth Babu Mantena 1 (0.1%)
+ Meng Li 1 (0.1%)
+ Hiago De Franco 1 (0.1%)
+ Randolph 1 (0.1%)
+ Marcus Folkesson 1 (0.1%)
+ Christoph Fritz 1 (0.1%)
+ Aswath Govindraju 1 (0.1%)
+ Vitor Soares 1 (0.1%)
+ Keerthy 1 (0.1%)
+ Théo Lebrun 1 (0.1%)
+ Aniket Limaye 1 (0.1%)
+ Alessandro Zini 1 (0.1%)
+ ==================================== =====
+
+
+.. table:: Developers with the most changed lines
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Tom Rini 140936 (51.6%)
+ Heinrich Schuchardt 18527 (6.8%)
+ Peng Fan 12959 (4.7%)
+ Andre Przywara 11041 (4.0%)
+ Marek Vasut 10096 (3.7%)
+ Weijie Gao 7532 (2.8%)
+ Garrett Giordano 6803 (2.5%)
+ Simon Glass 6197 (2.3%)
+ Patrick Rudolph 6036 (2.2%)
+ Jonas Karlman 4841 (1.8%)
+ Johan Jonker 3953 (1.4%)
+ Bryan Brattlof 3220 (1.2%)
+ Raymond Mao 3169 (1.2%)
+ Neil Armstrong 3003 (1.1%)
+ Adriano Cordova 2387 (0.9%)
+ Hal Feng 2328 (0.9%)
+ Mikhail Kshevetskiy 1740 (0.6%)
+ Patrick Delaunay 1409 (0.5%)
+ Michal Simek 1176 (0.4%)
+ Christoph Stoidner 1112 (0.4%)
+ Alexey Romanov 1109 (0.4%)
+ FUKAUMI Naoki 1079 (0.4%)
+ Svyatoslav Ryhel 1027 (0.4%)
+ Udit Kumar 1020 (0.4%)
+ Boon Khai Ng 930 (0.3%)
+ Enrico Leto 886 (0.3%)
+ Kongyang Liu 772 (0.3%)
+ Mayuresh Chitale 771 (0.3%)
+ Varadarajan Narayanan 716 (0.3%)
+ Sam Shih 705 (0.3%)
+ Philippe Reynes 702 (0.3%)
+ Tianling Shen 656 (0.2%)
+ Christian Marangi 635 (0.2%)
+ Patrice Chotard 538 (0.2%)
+ david regan 529 (0.2%)
+ Maksim Kiselev 519 (0.2%)
+ Richard Weinberger 472 (0.2%)
+ Junhui Liu 443 (0.2%)
+ Ilias Apalodimas 438 (0.2%)
+ Santhosh Kumar K 420 (0.2%)
+ Love Kumar 418 (0.2%)
+ Duje Mihanović 384 (0.1%)
+ Heiko Schocher 381 (0.1%)
+ Venkatesh Yadav Abbarapu 381 (0.1%)
+ Caleb Connolly 379 (0.1%)
+ Paul HENRYS 379 (0.1%)
+ Manorit Chawdhry 359 (0.1%)
+ Christoph Niedermaier 357 (0.1%)
+ Wadim Egorov 342 (0.1%)
+ E Shattow 332 (0.1%)
+ Markus Gothe 320 (0.1%)
+ Alice Guo 295 (0.1%)
+ Stefan Eichenberger 281 (0.1%)
+ Thomas Bonnefille 275 (0.1%)
+ Jacobe Zang 272 (0.1%)
+ Sam Protsenko 239 (0.1%)
+ Sam Edwards 236 (0.1%)
+ Daniel Schultz 232 (0.1%)
+ Jayesh Choudhary 221 (0.1%)
+ Guillaume La Roque 213 (0.1%)
+ Aparna Patra 210 (0.1%)
+ Frank Sae 183 (0.1%)
+ Jim Liu 148 (0.1%)
+ J. Neuschäfer 142 (0.1%)
+ Michael Chang 135 (0.0%)
+ Yannic Moog 131 (0.0%)
+ Michael Trimarchi 130 (0.0%)
+ Lothar Rubusch 122 (0.0%)
+ Vitor Soares 117 (0.0%)
+ Jerome Forissier 115 (0.0%)
+ Georgi Vlaev 114 (0.0%)
+ Dmitry Rokosov 109 (0.0%)
+ Alexander Dahl 106 (0.0%)
+ Zixun LI 99 (0.0%)
+ Yunus Bas 93 (0.0%)
+ Julien Masson 92 (0.0%)
+ Aniket Limaye 91 (0.0%)
+ Neha Malcom Francis 85 (0.0%)
+ Ibai Erkiaga 82 (0.0%)
+ Gokul Praveen 81 (0.0%)
+ Yao Zi 68 (0.0%)
+ Alessandro Zini 67 (0.0%)
+ Evgeny Bachinin 58 (0.0%)
+ Tony Dinh 57 (0.0%)
+ Judith Mendez 54 (0.0%)
+ Vaishnav Achath 52 (0.0%)
+ Reid Tonking 52 (0.0%)
+ Rasmus Villemoes 50 (0.0%)
+ Yuri Zaporozhets 49 (0.0%)
+ John Crispin 48 (0.0%)
+ Tim Harvey 45 (0.0%)
+ Cristian Ciocaltea 41 (0.0%)
+ Fabio Estevam 38 (0.0%)
+ Huan Zhou 38 (0.0%)
+ Andrew Goodbody 37 (0.0%)
+ Aashvij Shenai 35 (0.0%)
+ Yu-Chien Peter Lin 32 (0.0%)
+ Mattijs Korpershoek 31 (0.0%)
+ Alexander Sverdlin 28 (0.0%)
+ Shree Ramamoorthy 27 (0.0%)
+ Andrey Skvortsov 26 (0.0%)
+ Keerthy 23 (0.0%)
+ Liya Huang 22 (0.0%)
+ Tengfei Fan 22 (0.0%)
+ Padmarao Begari 20 (0.0%)
+ Benjamin Lemouzy 20 (0.0%)
+ Paul Kocialkowski 19 (0.0%)
+ Vincent Stehlé 19 (0.0%)
+ Vignesh Raghavendra 19 (0.0%)
+ Ye Li 18 (0.0%)
+ Chanho Park 18 (0.0%)
+ Quentin Schulz 16 (0.0%)
+ Peter Robinson 15 (0.0%)
+ Joao Marcos Costa 15 (0.0%)
+ Sam Day 14 (0.0%)
+ Diederik de Haas 12 (0.0%)
+ Paul Barker 11 (0.0%)
+ Alif Zakuan Yuslaimi 10 (0.0%)
+ Naman Trivedi 10 (0.0%)
+ Leonard Anderweit 9 (0.0%)
+ Anurag Dutta 9 (0.0%)
+ Maks Mishin 9 (0.0%)
+ Siddharth Vadapalli 8 (0.0%)
+ Marcus Folkesson 8 (0.0%)
+ Prasad Kummari 7 (0.0%)
+ Martin Stolpe 7 (0.0%)
+ Gao Xiang 7 (0.0%)
+ Fiona Klute 6 (0.0%)
+ Mark Tomlinson 6 (0.0%)
+ Hendrik Donner 6 (0.0%)
+ Beleswar Padhi 6 (0.0%)
+ Daniel Semkowicz 6 (0.0%)
+ Aswath Govindraju 6 (0.0%)
+ Heiko Stuebner 5 (0.0%)
+ Rufus Segar 5 (0.0%)
+ Sumit Garg 5 (0.0%)
+ Kever Yang 5 (0.0%)
+ Justin Klaassen 5 (0.0%)
+ Jonathan Stroud 5 (0.0%)
+ Christoph Fritz 5 (0.0%)
+ Théo Lebrun 5 (0.0%)
+ Chen-Yu Tsai 4 (0.0%)
+ Aaron Kling 4 (0.0%)
+ Norbert van Bolhuis 4 (0.0%)
+ Prasanth Babu Mantena 4 (0.0%)
+ Nathan Morrisson 3 (0.0%)
+ Ronald Wahl 3 (0.0%)
+ Olivier L'Heureux 3 (0.0%)
+ Christopher Obbard 2 (0.0%)
+ Benedikt Spranger 2 (0.0%)
+ Kory Maincent 2 (0.0%)
+ Andrea della Porta 2 (0.0%)
+ Greg Malysa 2 (0.0%)
+ Michael Ferolito 2 (0.0%)
+ Igor Opaniuk 2 (0.0%)
+ Jonathan Humphreys 2 (0.0%)
+ Jesse Taube 2 (0.0%)
+ Sean Edmond 2 (0.0%)
+ Hiago De Franco 2 (0.0%)
+ Andrew Davis 1 (0.0%)
+ Michael Walle 1 (0.0%)
+ Ben Schneider 1 (0.0%)
+ Julius Lehmann 1 (0.0%)
+ ZHANG Yuntian 1 (0.0%)
+ Benjamin Szőke 1 (0.0%)
+ Josua Mayer 1 (0.0%)
+ Muhammad Hazim Izzat Zamri 1 (0.0%)
+ Roger Quadros 1 (0.0%)
+ Andy Yan 1 (0.0%)
+ Sébastien Szymanski 1 (0.0%)
+ Vincent Fazio 1 (0.0%)
+ Neal Frager 1 (0.0%)
+ Yang Gang 1 (0.0%)
+ Aleksandar Gerasimovski 1 (0.0%)
+ Meng Li 1 (0.0%)
+ Randolph 1 (0.0%)
+ ==================================== =====
+
+
+.. table:: Developers with the most lines removed
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Heinrich Schuchardt 17182 (17.4%)
+ Andre Przywara 10887 (11.0%)
+ Johan Jonker 3926 (4.0%)
+ Jonas Karlman 3734 (3.8%)
+ Bryan Brattlof 3116 (3.1%)
+ Hal Feng 1798 (1.8%)
+ Patrick Delaunay 1396 (1.4%)
+ Alexey Romanov 1109 (1.1%)
+ Udit Kumar 984 (1.0%)
+ Sam Shih 560 (0.6%)
+ david regan 451 (0.5%)
+ Richard Weinberger 260 (0.3%)
+ E Shattow 211 (0.2%)
+ Patrice Chotard 179 (0.2%)
+ Alexander Dahl 95 (0.1%)
+ Yao Zi 28 (0.0%)
+ Aashvij Shenai 23 (0.0%)
+ Tony Dinh 21 (0.0%)
+ Diederik de Haas 11 (0.0%)
+ Paul Barker 7 (0.0%)
+ Marcus Folkesson 6 (0.0%)
+ Théo Lebrun 5 (0.0%)
+ Neha Malcom Francis 4 (0.0%)
+ Alif Zakuan Yuslaimi 4 (0.0%)
+ Kever Yang 4 (0.0%)
+ Christoph Fritz 2 (0.0%)
+ ZHANG Yuntian 1 (0.0%)
+ ==================================== =====
+
+
+.. table:: Developers with the most signoffs (total 218)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Michal Simek 30 (13.8%)
+ Caleb Connolly 27 (12.4%)
+ Mattijs Korpershoek 21 (9.6%)
+ Ilias Apalodimas 13 (6.0%)
+ Heiko Stuebner 10 (4.6%)
+ Sam Shih 8 (3.7%)
+ Minkyu Kang 7 (3.2%)
+ Heiko Schocher 7 (3.2%)
+ Raymond Mao 7 (3.2%)
+ Peng Fan 7 (3.2%)
+ Simon Glass 6 (2.8%)
+ Anurag Dutta 5 (2.3%)
+ Neil Armstrong 5 (2.3%)
+ Richard Weinberger 4 (1.8%)
+ Prasanth Babu Mantena 4 (1.8%)
+ Ye Li 4 (1.8%)
+ Jerome Forissier 4 (1.8%)
+ Aniket Limaye 4 (1.8%)
+ Peter Robinson 3 (1.4%)
+ Santhosh Kumar K 3 (1.4%)
+ Jim Liu 3 (1.4%)
+ Adriano Cordova 3 (1.4%)
+ Neha Malcom Francis 2 (0.9%)
+ Kever Yang 2 (0.9%)
+ SkyLake.Huang 2 (0.9%)
+ Dan Carpenter 2 (0.9%)
+ Judith Mendez 2 (0.9%)
+ Huan Zhou 2 (0.9%)
+ Weijie Gao 2 (0.9%)
+ Marek Vasut 2 (0.9%)
+ Heinrich Schuchardt 1 (0.5%)
+ Andre Przywara 1 (0.5%)
+ Udit Kumar 1 (0.5%)
+ Patrice Chotard 1 (0.5%)
+ Miquel Raynal 1 (0.5%)
+ Ion Agorria 1 (0.5%)
+ Kamlesh Gurudasani 1 (0.5%)
+ Tejas Bhumkar 1 (0.5%)
+ Bjorn Andersson 1 (0.5%)
+ Naresh Solanki 1 (0.5%)
+ Bo-Cun Chen 1 (0.5%)
+ Andrej Valek 1 (0.5%)
+ Vaishnav Achath 1 (0.5%)
+ Daniel Schultz 1 (0.5%)
+ Christian Marangi 1 (0.5%)
+ Mikhail Kshevetskiy 1 (0.5%)
+ Tom Rini 1 (0.5%)
+ ==================================== =====
+
+
+.. table:: Developers with the most reviews (total 588)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Kever Yang 85 (14.5%)
+ Simon Glass 63 (10.7%)
+ Ilias Apalodimas 54 (9.2%)
+ Heinrich Schuchardt 30 (5.1%)
+ Tom Rini 24 (4.1%)
+ Mattijs Korpershoek 23 (3.9%)
+ Quentin Schulz 23 (3.9%)
+ Leo Yu-Chi Liang 22 (3.7%)
+ Patrick Delaunay 18 (3.1%)
+ Wadim Egorov 17 (2.9%)
+ Jaehoon Chung 14 (2.4%)
+ Caleb Connolly 11 (1.9%)
+ Stefan Roese 11 (1.9%)
+ Marek Vasut 10 (1.7%)
+ Jerome Forissier 9 (1.5%)
+ Neil Armstrong 8 (1.4%)
+ Peter Robinson 8 (1.4%)
+ Weijie Gao 8 (1.4%)
+ Paul Barker 8 (1.4%)
+ Alexander Sverdlin 8 (1.4%)
+ Sam Protsenko 8 (1.4%)
+ Manorit Chawdhry 8 (1.4%)
+ Bryan Brattlof 7 (1.2%)
+ Raymond Mao 6 (1.0%)
+ Peng Fan 6 (1.0%)
+ E Shattow 5 (0.9%)
+ Tien Fong Chee 5 (0.9%)
+ Udit Kumar 4 (0.7%)
+ Sinan Akman 4 (0.7%)
+ Devarsh Thakkar 4 (0.7%)
+ Sumit Garg 4 (0.7%)
+ Fabio Estevam 4 (0.7%)
+ Heiko Schocher 3 (0.5%)
+ Neha Malcom Francis 3 (0.5%)
+ Andre Przywara 3 (0.5%)
+ Patrice Chotard 3 (0.5%)
+ Miquel Raynal 3 (0.5%)
+ Roger Quadros 3 (0.5%)
+ Matthias Brugger 3 (0.5%)
+ Jernej Skrabec 3 (0.5%)
+ William Zhang 3 (0.5%)
+ Anand Gore 3 (0.5%)
+ Julien Masson 3 (0.5%)
+ Alexander Dahl 2 (0.3%)
+ Dhruva Gole 2 (0.3%)
+ Chris Packham 2 (0.3%)
+ Jan Kiszka 2 (0.3%)
+ Yixun Lan 2 (0.3%)
+ John Ogness 2 (0.3%)
+ Yannic Moog 2 (0.3%)
+ Michael Trimarchi 2 (0.3%)
+ Michal Simek 1 (0.2%)
+ Anurag Dutta 1 (0.2%)
+ Chen-Yu Tsai 1 (0.2%)
+ Andrew Davis 1 (0.2%)
+ Michael Brown 1 (0.2%)
+ Tianrui Wei 1 (0.2%)
+ Sughosh Ganu 1 (0.2%)
+ Mark Kettenis 1 (0.2%)
+ Anand Moon 1 (0.2%)
+ Francesco Dolcini 1 (0.2%)
+ Nicolas Belin 1 (0.2%)
+ Konrad Dybcio 1 (0.2%)
+ Viacheslav Mitrofanov 1 (0.2%)
+ Dragan Simic 1 (0.2%)
+ Siddharth Vadapalli 1 (0.2%)
+ Tim Harvey 1 (0.2%)
+ Paul Kocialkowski 1 (0.2%)
+ Vignesh Raghavendra 1 (0.2%)
+ Love Kumar 1 (0.2%)
+ Patrick Rudolph 1 (0.2%)
+ ==================================== =====
+
+
+.. table:: Developers with the most test credits (total 76)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ E Shattow 12 (15.8%)
+ Anand Moon 11 (14.5%)
+ Weijie Gao 8 (10.5%)
+ Sam Protsenko 8 (10.5%)
+ Mattijs Korpershoek 3 (3.9%)
+ Caleb Connolly 3 (3.9%)
+ Daniel Schultz 3 (3.9%)
+ Marcel Ziswiler 3 (3.9%)
+ FUKAUMI Naoki 3 (3.9%)
+ Alexey Minnekhanov 2 (2.6%)
+ Amit Pundir 2 (2.6%)
+ Primoz Fiser 2 (2.6%)
+ Heinrich Schuchardt 1 (1.3%)
+ Quentin Schulz 1 (1.3%)
+ Wadim Egorov 1 (1.3%)
+ Jerome Forissier 1 (1.3%)
+ Neil Armstrong 1 (1.3%)
+ Neha Malcom Francis 1 (1.3%)
+ Julien Masson 1 (1.3%)
+ Yannic Moog 1 (1.3%)
+ Michal Simek 1 (1.3%)
+ Tony Dinh 1 (1.3%)
+ Christian Kohlschütter 1 (1.3%)
+ Yuguo Pei 1 (1.3%)
+ Ferass El Hafidi 1 (1.3%)
+ Niklas Söderlund 1 (1.3%)
+ Ben Schneider 1 (1.3%)
+ Sam Day 1 (1.3%)
+ ==================================== =====
+
+
+.. table:: Developers who gave the most tested-by credits (total 76)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Hal Feng 22 (28.9%)
+ Ilias Apalodimas 9 (11.8%)
+ Christian Marangi 7 (9.2%)
+ Caleb Connolly 5 (6.6%)
+ Neil Armstrong 4 (5.3%)
+ Wadim Egorov 3 (3.9%)
+ Jonas Karlman 3 (3.9%)
+ Heinrich Schuchardt 2 (2.6%)
+ Jerome Forissier 2 (2.6%)
+ Sam Day 2 (2.6%)
+ Marek Vasut 2 (2.6%)
+ Richard Weinberger 2 (2.6%)
+ Kongyang Liu 2 (2.6%)
+ Christoph Stoidner 2 (2.6%)
+ Daniel Schultz 1 (1.3%)
+ Fabio Estevam 1 (1.3%)
+ Santhosh Kumar K 1 (1.3%)
+ Huan Zhou 1 (1.3%)
+ Yao Zi 1 (1.3%)
+ Aaron Kling 1 (1.3%)
+ John Crispin 1 (1.3%)
+ Guillaume La Roque 1 (1.3%)
+ Maksim Kiselev 1 (1.3%)
+ ==================================== =====
+
+
+.. table:: Developers with the most report credits (total 13)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Ludwig Nussel 2 (15.4%)
+ Ilias Apalodimas 1 (7.7%)
+ E Shattow 1 (7.7%)
+ Christian Kohlschütter 1 (7.7%)
+ Ben Schneider 1 (7.7%)
+ Simon Glass 1 (7.7%)
+ Tim Harvey 1 (7.7%)
+ Love Kumar 1 (7.7%)
+ Niklas Sombert 1 (7.7%)
+ Björn Töpel 1 (7.7%)
+ Ricardo Pardini 1 (7.7%)
+ Liya Huang 1 (7.7%)
+ ==================================== =====
+
+
+.. table:: Developers who gave the most report credits (total 13)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Ilias Apalodimas 2 (15.4%)
+ Heinrich Schuchardt 2 (15.4%)
+ Peng Fan 2 (15.4%)
+ Hal Feng 1 (7.7%)
+ Jonas Karlman 1 (7.7%)
+ Jerome Forissier 1 (7.7%)
+ Fabio Estevam 1 (7.7%)
+ Michal Simek 1 (7.7%)
+ Tom Rini 1 (7.7%)
+ Raymond Mao 1 (7.7%)
+ ==================================== =====
+
+
+.. table:: Top changeset contributors by employer
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ (Unknown) 458 (36.2%)
+ Google LLC 222 (17.6%)
+ Linaro 107 (8.5%)
+ Texas Instruments 82 (6.5%)
+ Renesas Electronics 74 (5.9%)
+ AMD 62 (4.9%)
+ DENX Software Engineering 54 (4.3%)
+ Konsulko Group 51 (4.0%)
+ NXP 35 (2.8%)
+ Phytec 34 (2.7%)
+ ST Microelectronics 25 (2.0%)
+ Siemens 11 (0.9%)
+ Toradex 11 (0.9%)
+ ARM 9 (0.7%)
+ BayLibre SAS 7 (0.6%)
+ Bootlin 6 (0.5%)
+ Intel 5 (0.4%)
+ Broadcom 3 (0.2%)
+ linutronix 2 (0.2%)
+ Amarula Solutions 1 (0.1%)
+ Collabora Ltd. 1 (0.1%)
+ Wind River 1 (0.1%)
+ Rockchip 1 (0.1%)
+ SUSE 1 (0.1%)
+ Extreme Engineering Solutions 1 (0.1%)
+ ==================================== =====
+
+
+.. table:: Top lines changed by employer
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Konsulko Group 140936 (51.6%)
+ (Unknown) 67870 (24.9%)
+ NXP 13272 (4.9%)
+ ARM 11060 (4.1%)
+ Renesas Electronics 8666 (3.2%)
+ Linaro 7382 (2.7%)
+ Google LLC 6197 (2.3%)
+ Texas Instruments 6119 (2.2%)
+ AMD 2100 (0.8%)
+ ST Microelectronics 1947 (0.7%)
+ Phytec 1919 (0.7%)
+ DENX Software Engineering 1860 (0.7%)
+ Siemens 981 (0.4%)
+ Intel 931 (0.3%)
+ Broadcom 529 (0.2%)
+ Toradex 400 (0.1%)
+ BayLibre SAS 305 (0.1%)
+ Bootlin 297 (0.1%)
+ Amarula Solutions 130 (0.0%)
+ Collabora Ltd. 41 (0.0%)
+ Rockchip 5 (0.0%)
+ linutronix 2 (0.0%)
+ SUSE 2 (0.0%)
+ Wind River 1 (0.0%)
+ Extreme Engineering Solutions 1 (0.0%)
+ ==================================== =====
+
+
+.. table:: Employers with the most signoffs (total 218)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ Linaro 58 (26.6%)
+ (Unknown) 43 (19.7%)
+ AMD 31 (14.2%)
+ Texas Instruments 23 (10.6%)
+ BayLibre SAS 21 (9.6%)
+ NXP 11 (5.0%)
+ DENX Software Engineering 9 (4.1%)
+ Samsung 7 (3.2%)
+ Google LLC 6 (2.8%)
+ Rockchip 2 (0.9%)
+ Konsulko Group 1 (0.5%)
+ ARM 1 (0.5%)
+ ST Microelectronics 1 (0.5%)
+ Phytec 1 (0.5%)
+ Siemens 1 (0.5%)
+ Bootlin 1 (0.5%)
+ Canonical 1 (0.5%)
+ ==================================== =====
+
+
+.. table:: Employers with the most hackers (total 177)
+ :widths: auto
+
+ ==================================== =====
+ Name Count
+ ==================================== =====
+ (Unknown) 94 (53.1%)
+ Texas Instruments 24 (13.6%)
+ AMD 9 (5.1%)
+ Linaro 8 (4.5%)
+ Phytec 6 (3.4%)
+ Bootlin 4 (2.3%)
+ NXP 3 (1.7%)
+ DENX Software Engineering 3 (1.7%)
+ Siemens 3 (1.7%)
+ Toradex 3 (1.7%)
+ BayLibre SAS 2 (1.1%)
+ ARM 2 (1.1%)
+ ST Microelectronics 2 (1.1%)
+ Renesas Electronics 2 (1.1%)
+ Intel 2 (1.1%)
+ Google LLC 1 (0.6%)
+ Rockchip 1 (0.6%)
+ Konsulko Group 1 (0.6%)
+ Broadcom 1 (0.6%)
+ Amarula Solutions 1 (0.6%)
+ Collabora Ltd. 1 (0.6%)
+ linutronix 1 (0.6%)
+ SUSE 1 (0.6%)
+ Wind River 1 (0.6%)
+ Extreme Engineering Solutions 1 (0.6%)
+ ==================================== =====
diff --git a/doc/develop/tests_writing.rst b/doc/develop/tests_writing.rst
index 54efb7e1b04..7ea17081def 100644
--- a/doc/develop/tests_writing.rst
+++ b/doc/develop/tests_writing.rst
@@ -116,19 +116,19 @@ below are approximate, as measured on an AMD 2950X system. Here is is the test
in Python::
@pytest.mark.buildconfigspec('cmd_memory')
- def test_md(u_boot_console):
+ def test_md(ubman):
"""Test that md reads memory as expected, and that memory can be modified
using the mw command."""
- ram_base = u_boot_utils.find_ram_base(u_boot_console)
+ ram_base = utils.find_ram_base(ubman)
addr = '%08x' % ram_base
val = 'a5f09876'
expected_response = addr + ': ' + val
- u_boot_console.run_command('mw ' + addr + ' 0 10')
- response = u_boot_console.run_command('md ' + addr + ' 10')
+ ubman.run_command('mw ' + addr + ' 0 10')
+ response = ubman.run_command('md ' + addr + ' 10')
assert(not (expected_response in response))
- u_boot_console.run_command('mw ' + addr + ' ' + val)
- response = u_boot_console.run_command('md ' + addr + ' 10')
+ ubman.run_command('mw ' + addr + ' ' + val)
+ response = ubman.run_command('md ' + addr + ' 10')
assert(expected_response in response)
This runs a few commands and checks the output. Note that it runs a command,
@@ -261,7 +261,7 @@ with the suite. For example, to add a new mem_search test::
/* Test 'ms' command with 32-bit values */
static int mem_test_ms_new_thing(struct unit_test_state *uts)
{
- /* test code here*/
+ /* test code here */
return 0;
}
@@ -291,32 +291,20 @@ suite. For example::
/* Declare a new wibble test */
#define WIBBLE_TEST(_name, _flags) UNIT_TEST(_name, _flags, wibble_test)
- /* Tetss go here */
-
- /* At the bottom of the file: */
-
- int do_ut_wibble(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
- {
- struct unit_test *tests = UNIT_TEST_SUITE_START(wibble_test);
- const int n_ents = UNIT_TEST_SUITE_COUNT(wibble_test);
-
- return cmd_ut_category("cmd_wibble", "wibble_test_", tests, n_ents, argc, argv);
- }
+ /* Tests go here */
Then add new tests to it as above.
Register this new suite in test/cmd_ut.c by adding to cmd_ut_sub[]::
- /* Within cmd_ut_sub[]... */
-
- U_BOOT_CMD_MKENT(wibble, CONFIG_SYS_MAXARGS, 1, do_ut_wibble, "", ""),
+ /* with the other SUITE_DECL() declarations */
+ SUITE_DECL(wibble);
-and adding new help to ut_help_text[]::
+ /* Within suites[]... */
+ SUITE(wibble, "my test of wibbles");
- "ut wibble - Test the wibble feature\n"
-
-If your feature is conditional on a particular Kconfig, then you can use #ifdef
-to control that.
+If your feature is conditional on a particular Kconfig, you do not need to add
+an #ifdef since the suite will automatically be compiled out in that case.
Finally, add the test to the build by adding to the Makefile in the same
directory::
@@ -326,17 +314,35 @@ directory::
Note that CMDLINE is never enabled in SPL, so this test will only be present in
U-Boot proper. See below for how to do SPL tests.
-As before, you can add an extra Kconfig check if needed::
+You can add an extra Kconfig check if needed::
ifneq ($(CONFIG_$(XPL_)WIBBLE),)
obj-$(CONFIG_$(XPL_)CMDLINE) += wibble.o
endif
+Each suite can have an optional init and uninit function. These are run before
+and after any suite tests, respectively::
+
+ #define WIBBLE_TEST_INIT(_name, _flags) UNIT_TEST_INIT(_name, _flags, wibble_test)
+ #define WIBBLE_TEST_UNINIT(_name, _flags) UNIT_TEST_UNINIT(_name, _flags, wibble_test)
-Example commit: 919e7a8fb64 ("test: Add a simple test for bloblist") [1]
+ static int wibble_test_init(struct unit_test_state *uts)
+ {
+ /* init code here */
+
+ return 0;
+ }
+ WIBBLE_TEST_INIT(wibble_test_init, 0);
-[1] https://gitlab.denx.de/u-boot/u-boot/-/commit/919e7a8fb64
+ static int wibble_test_uninit(struct unit_test_state *uts)
+ {
+ /* uninit code here */
+
+ return 0;
+ }
+ WIBBLE_TEST_INIT(wibble_test_uninit, 0);
+Both functions are included in the totals for each suite.
Making the test run from pytest
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~