test_astlpc: Test simple message from BMC to host

Remove the corresponding assertions from the packetized message test.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Ifd0d857e4e955e57b0fb4a4cd2dc0a655b3c9508
diff --git a/tests/test_astlpc.c b/tests/test_astlpc.c
index 2a115c5..63915e7 100644
--- a/tests/test_astlpc.c
+++ b/tests/test_astlpc.c
@@ -244,19 +244,10 @@
 	/* BMC sends a message */
 	rc = mctp_message_tx(ctx.bmc.mctp, 9, msg, sizeof(msg));
 	assert(rc == 0);
-	assert(ctx.kcs[MCTP_ASTLPC_KCS_REG_STATUS] & KCS_STATUS_OBF);
-	assert(ctx.kcs[MCTP_ASTLPC_KCS_REG_DATA] == 0x01);
-
-	astlpc_assert_tx_packet(&ctx.bmc, &msg[0], MCTP_BTU);
 
 	/* Host receives the first packet */
 	mctp_astlpc_poll(ctx.host.astlpc);
 
-	/* Host returns Rx area ownership to BMC */
-	assert(!(ctx.kcs[MCTP_ASTLPC_KCS_REG_STATUS] & KCS_STATUS_OBF));
-	assert(ctx.kcs[MCTP_ASTLPC_KCS_REG_DATA] == 0x02);
-	assert(ctx.kcs[MCTP_ASTLPC_KCS_REG_STATUS] & KCS_STATUS_IBF);
-
 	/* BMC dequeues ownership hand-over and sends the queued packet */
 	rc = mctp_astlpc_poll(ctx.bmc.astlpc);
 	assert(rc == 0);
@@ -274,6 +265,46 @@
 	network_destroy(&ctx);
 }
 
+static void astlpc_test_simple_message_bmc_to_host(void)
+{
+	struct astlpc_test ctx = { 0 };
+	uint8_t msg[MCTP_BTU];
+	int rc;
+
+	/* Test harness initialisation */
+
+	network_init(&ctx);
+
+	memset(&msg[0], 0x5a, MCTP_BTU);
+
+	ctx.msg = &msg[0];
+	ctx.count = 0;
+	mctp_set_rx_all(ctx.host.mctp, rx_message, &ctx);
+
+	/* BMC sends the single-packet message */
+	rc = mctp_message_tx(ctx.bmc.mctp, 9, msg, sizeof(msg));
+	assert(rc == 0);
+	assert(ctx.kcs[MCTP_ASTLPC_KCS_REG_STATUS] & KCS_STATUS_OBF);
+	assert(ctx.kcs[MCTP_ASTLPC_KCS_REG_DATA] == 0x01);
+
+	astlpc_assert_tx_packet(&ctx.bmc, &msg[0], MCTP_BTU);
+
+	/* Host receives the single-packet message */
+	mctp_astlpc_poll(ctx.host.astlpc);
+	assert(ctx.count == 1);
+
+	/* Host returns Rx area ownership to BMC */
+	assert(!(ctx.kcs[MCTP_ASTLPC_KCS_REG_STATUS] & KCS_STATUS_OBF));
+	assert(ctx.kcs[MCTP_ASTLPC_KCS_REG_DATA] == 0x02);
+	assert(ctx.kcs[MCTP_ASTLPC_KCS_REG_STATUS] & KCS_STATUS_IBF);
+
+	/* BMC dequeues ownership hand-over and sends the queued packet */
+	rc = mctp_astlpc_poll(ctx.bmc.astlpc);
+	assert(rc == 0);
+
+	network_destroy(&ctx);
+}
+
 static void astlpc_test_simple_init(void)
 {
 	struct astlpc_endpoint bmc, host;
@@ -286,14 +317,14 @@
 	lpc_mem = calloc(1, lpc_size);
 	assert(lpc_mem);
 
-	/* Bus owner (BMC) initialisation */
+	/* BMC initialisation */
 	endpoint_init(&bmc, 8, MCTP_BINDING_ASTLPC_MODE_BMC, &kcs, lpc_mem,
 		      lpc_size);
 
 	/* Verify the BMC binding was initialised */
 	assert(kcs[MCTP_ASTLPC_KCS_REG_STATUS] & KCS_STATUS_BMC_READY);
 
-	/* Device (Host) initialisation */
+	/* Host initialisation */
 	endpoint_init(&host, 9, MCTP_BINDING_ASTLPC_MODE_HOST, &kcs, lpc_mem,
 		      lpc_size);
 
@@ -322,6 +353,7 @@
 	mctp_set_log_stdio(MCTP_LOG_DEBUG);
 
 	astlpc_test_simple_init();
+	astlpc_test_simple_message_bmc_to_host();
 	astlpc_test_packetised_message_bmc_to_host();
 
 	return 0;