[PATCH v4 0/4] memblock tests: add VERBOSE and MEMBLOCK_DEBUG Makefile options

From: Rebecca Mckeever
Date: Mon Jun 27 2022 - 18:35:17 EST


These patches add options VERBOSE and MEMBLOCK_DEBUG to Memblock
simulator, which can be specified when running make. These patches also
implement the functionality for these options.

VERBOSE
Usage:

$ make VERBOSE=1

Passing VERBOSE=1 will enable verbose output from Memblock simulator. For
each test, the verbose output includes the name of the memblock function
being tested, the name of the test, and whether the test passed or failed.
Since all the tests in Memblock simulator run as one monolithic test, this
output is a quick way to get a summary of test results.

MEMBLOCK_DEBUG
Usage:

$ make MEMBLOCK_DEBUG=1

Passing MEMBLOCK_DEBUG=1 will enable memblock_dbg() messages. These
are debug messages built into several functions in memblock that include
information such as the name of the function and the size and start and
end addresses of the memblock region.

---
Changes

v3 -> v4
PATCH 1:
- Update subject line to specifically mention verbosity, which encompasses
both Makefile arguments
PATCH 2:
- tests/common.h, tests/*_api.c:
- Define and use macro PREFIX_PUSH(), which runs prefix_push(__func__)
- Define and use function test_pass_pop(), which runs test_pass(),
then prefix_pop()
- tests/alloc_*api.c:
- Remove static on constant func_testing
- tests/basic_api.c:
- Display "memblock_add" instead of "memblock_add_node" in verbose
output for memblock_add_node_simple_check()
- tests/alloc_helpers_api.c:
- Add missing prefix_pop() in memblock_alloc_helpers_checks()
- Commit message:
- Format function/macro descriptions, reword prefix_push() description,
and update as needed to reflect the above changes

v2 -> v3
PATCH 1:
- Add Reviewed-by tag

v1 -> v2
PATCH 2:
- tests/common.c:
- Remove #ifdef VERBOSE around prefixes and related constants
- Add __maybe_unused to prefixes
- Move PREFIXES_LEN_MAX, DELIM, and DELIM_LEN so that they are
immediately after the other constants
- Add #ifdef VERBOSE around definitions for test_*() and prefix_*()
---

Rebecca Mckeever (4):
memblock tests: Makefile: add arguments to control verbosity
memblock tests: add verbose output to memblock tests
memblock tests: set memblock_debug to enable memblock_dbg() messages
memblock tests: remove completed TODO items

tools/testing/memblock/Makefile | 4 +
tools/testing/memblock/README | 10 +-
tools/testing/memblock/TODO | 14 +-
tools/testing/memblock/internal.h | 7 +
.../testing/memblock/scripts/Makefile.include | 10 +
tools/testing/memblock/tests/alloc_api.c | 225 +++++++----
.../memblock/tests/alloc_helpers_api.c | 129 ++++---
tools/testing/memblock/tests/alloc_nid_api.c | 351 +++++++++++-------
tools/testing/memblock/tests/basic_api.c | 337 +++++++++++------
tools/testing/memblock/tests/common.c | 58 +++
tools/testing/memblock/tests/common.h | 62 ++++
11 files changed, 851 insertions(+), 356 deletions(-)

--
2.34.1