[Skiboot] [PATCH 24/51] test-ipmi-hiomap: Add event-before-erase test

Andrew Jeffery andrew at aj.id.au
Fri Feb 15 17:56:41 AEDT 2019


Signed-off-by: Andrew Jeffery <andrew at aj.id.au>
---
 libflash/test/test-ipmi-hiomap.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/libflash/test/test-ipmi-hiomap.c b/libflash/test/test-ipmi-hiomap.c
index 99b2902b6446..c00c30f6d4aa 100644
--- a/libflash/test/test-ipmi-hiomap.c
+++ b/libflash/test/test-ipmi-hiomap.c
@@ -1243,6 +1243,23 @@ static void test_hiomap_protocol_erase_one_block(void)
 	scenario_exit();
 }
 
+static void test_hiomap_protocol_event_before_erase(void)
+{
+	struct blocklevel_device *bl;
+	struct ipmi_hiomap *ctx;
+	size_t len;
+	int rc;
+
+	scenario_enter(scenario_hiomap_protocol_event_before_action);
+	assert(!ipmi_hiomap_init(&bl));
+	ctx = container_of(bl, struct ipmi_hiomap, bl);
+	len = 1 << ctx->block_size_shift;
+	rc = bl->erase(bl, 0, len);
+	assert(rc == FLASH_ERR_AGAIN);
+	ipmi_hiomap_exit(bl);
+	scenario_exit();
+}
+
 static const struct scenario_event
 scenario_hiomap_protocol_persistent_error[] = {
 	{ .type = scenario_event_p, .p = &hiomap_ack_call, },
@@ -1296,6 +1313,7 @@ struct test_case test_cases[] = {
 	TEST_CASE(test_hiomap_protocol_event_during_write),
 	TEST_CASE(test_hiomap_protocol_erase_one_block),
 	TEST_CASE(test_hiomap_protocol_erase_two_blocks),
+	TEST_CASE(test_hiomap_protocol_event_before_erase),
 	TEST_CASE(test_hiomap_protocol_persistent_error),
 	{ NULL, NULL },
 };
-- 
2.19.1



More information about the Skiboot mailing list