[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230713162731.211669-1-marpagan@redhat.com>
Date: Thu, 13 Jul 2023 18:27:27 +0200
From: Marco Pagani <marpagan@...hat.com>
To: Moritz Fischer <mdf@...nel.org>, Wu Hao <hao.wu@...el.com>,
Xu Yilun <yilun.xu@...el.com>, Tom Rix <trix@...hat.com>
Cc: Marco Pagani <marpagan@...hat.com>, linux-kernel@...r.kernel.org,
linux-fpga@...r.kernel.org
Subject: [PATCH v9 0/4] fpga: add initial KUnit tests for the subsystem
This patch set introduces an initial set of KUnit test suites for the
core components of the FPGA subsystem.
Tests can be run using:
[user@...alhost linux]$ ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/fpga/tests
v9:
- Improved and commented test ops for the FPGA Manager test suite
- Fixed minor capitalization discrepancies
v8:
- Using memset to set header and payload of the test image
- Using sg_miter_* functions to check the image in the write_sg op
- Includes sorted in alphabetical order
- Add commas for fpga_bridge_ops
- Improved Makefile
v7:
- Dropped RFC prefix
- Add comments to explain fakes and helper functions
- Changed the implementation of the Bridge used in the Region suite
v6:
- Restructured the code into self-contained test modules
- Added tests for the basic behaviors of the components
- Improved programming tests for the FPGA Manager
- Fixed code/comments mismatch in the list of Bridges test case
v5:
- Removed most of the exported functions using shared buffers for stats
- Moved all KUnit expectations/assertions to the main test module
- Removed standalone use case to simplify the code
- Removed instances counters from fake components (using device.id instead)
- Set header size in the .parse_header op
- Improved bridge get_put_list test case
v4:
- Fix build error
v3:
- Calling fpga_bridges_put() between reconfigurations
- Functions for registering fake modules allocate and return context structs
v2:
- Restructured code into multiple suites to test components in isolation
- Reduced code duplication using init and exit methods
- Using a get_bridges() method to build the list of bridges just before programming
- Regions and Bridges are organized topologically
- Changed bitstream/bit to images
- Allocate images dynamically
- Renamed fpga-tests to fpga-test
- Simplified Kconfig
- Add license info to the fpga-test module
Marco Pagani (4):
fpga: add an initial KUnit suite for the FPGA Manager
fpga: add an initial KUnit suite for the FPGA Bridge
fpga: add an initial KUnit suite for the FPGA Region
fpga: add configuration for the FPGA KUnit test suites.
drivers/fpga/Kconfig | 2 +
drivers/fpga/Makefile | 3 +
drivers/fpga/tests/.kunitconfig | 5 +
drivers/fpga/tests/Kconfig | 11 +
drivers/fpga/tests/Makefile | 6 +
drivers/fpga/tests/fpga-bridge-test.c | 175 ++++++++++++++
drivers/fpga/tests/fpga-mgr-test.c | 329 ++++++++++++++++++++++++++
drivers/fpga/tests/fpga-region-test.c | 211 +++++++++++++++++
8 files changed, 742 insertions(+)
create mode 100644 drivers/fpga/tests/.kunitconfig
create mode 100644 drivers/fpga/tests/Kconfig
create mode 100644 drivers/fpga/tests/Makefile
create mode 100644 drivers/fpga/tests/fpga-bridge-test.c
create mode 100644 drivers/fpga/tests/fpga-mgr-test.c
create mode 100644 drivers/fpga/tests/fpga-region-test.c
base-commit: 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5
--
2.41.0
Powered by blists - more mailing lists