Commit 1770d39d authored by Takashi Sakamoto's avatar Takashi Sakamoto
Browse files

firewire: test: add KUnit test for device attributes

The traverse over CSR space results in attributes of node and unit
devices. Any test of the traverse is useful.

This commit adds a skeleton of KUnit test for the purpose.

Link: https://lore.kernel.org/r/20231221134849.603857-4-o-takashi@sakamocchi.jp


Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
parent afa36dad
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2,3 +2,4 @@ CONFIG_KUNIT=y
CONFIG_PCI=y
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_KUNIT_UAPI_TEST=y
CONFIG_FIREWIRE_KUNIT_DEVICE_ATTRIBUTE_TEST=y
+16 −0
Original line number Diff line number Diff line
@@ -34,6 +34,22 @@ config FIREWIRE_KUNIT_UAPI_TEST
	  For more information on KUnit and unit tests in general, refer
	  to the KUnit documentation in Documentation/dev-tools/kunit/.

config FIREWIRE_KUNIT_DEVICE_ATTRIBUTE_TEST
	tristate "KUnit tests for device attributes" if !KUNIT_ALL_TESTS
	depends on FIREWIRE && KUNIT
	default KUNIT_ALL_TESTS
	help
	  This builds the KUnit tests for device attribute for node and
	  unit.

	  KUnit tests run during boot and output the results to the debug
	  log in TAP format (https://testanything.org/). Only useful for
	  kernel devs running KUnit test harness and are not for inclusion
	  into a production build.

	  For more information on KUnit and unit tests in general, refer
	  to the KUnit documentation in Documentation/dev-tools/kunit/.

config FIREWIRE_OHCI
	tristate "OHCI-1394 controllers"
	depends on PCI && FIREWIRE && MMU
+4 −0
Original line number Diff line number Diff line
@@ -1310,3 +1310,7 @@ void fw_node_event(struct fw_card *card, struct fw_node *node, int event)
		break;
	}
}

#ifdef CONFIG_FIREWIRE_KUNIT_DEVICE_ATTRIBUTE_TEST
#include "device-attribute-test.c"
#endif
+19 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
//
// device-attribute-test.c - An application of Kunit to test implementation for device attributes.
//
// Copyright (c) 2023 Takashi Sakamoto
//
// This file can not be built independently since it is intentionally included in core-device.c.

#include <kunit/test.h>

static struct kunit_case device_attr_test_cases[] = {
	{}
};

static struct kunit_suite device_attr_test_suite = {
	.name = "firewire-device-attribute",
	.test_cases = device_attr_test_cases,
};
kunit_test_suite(device_attr_test_suite);