feat(spmc) Add TSP tests for EL3 SPMC to CI
TSP tests are designed to be exercised by the
FF-A Test Driver in the Normal World.
These have been designed to test basic functionality of the EL3 SPMC.
These tests currently ensure the following functionality:
- Partition discovery.
- Direct messaging.
- Communication with a Logical SP.
- Memory Sharing and Lending ABIs
- Sharing of contiguous and non-contiguous memory regions.
- Memory region descriptors spread of over multiple
invocations.
- Multiple endpoint memory transitions.
This test config builds TF-A with SPMC_AT_EL3
and uses prebuilt Linux Image with integrated
FF-A Test Driver in the Normal World.
Change-Id: Ib6ecca0f87b6696a647afd3bf5a253b5a88fd842
Signed-off-by: Shruti <shruti.gupta@arm.com>
diff --git a/expect/ffa_test_driver.exp b/expect/ffa_test_driver.exp
new file mode 100644
index 0000000..28fd6da
--- /dev/null
+++ b/expect/ffa_test_driver.exp
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2022, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+source [file join [file dirname [info script]] handle-arguments.inc]
+
+expect {
+ "buildroot login:" {
+ send "\n\nroot\n"
+ puts "<<Linux Booted>>"
+ }
+ timeout {
+ exit_uart -1
+ }
+}
+
+expect {
+ "#" {
+ send "ioctl 255\n"
+ }
+ timeout {
+ exit_uart -1
+ }
+}
+
+expect_string "Test: Echo Message to SP"
+expect_string "Test: Message Relay vis SP to EL3 LSP."
+expect_string "Test: Memory Send."
+expect_string "Test: Memory Send in Fragments."
+expect_string "Test: Memory Lend."
+expect_string "Test: Memory Lend in Fragments."
+expect_string "Test: Memory Send with Multiple Endpoints."
+expect_string "Test: Memory Lend with Multiple Endpoints."
+expect_string "Test: Ensure Duplicate Memory Send Requests are Rejected."
+expect_string "Test: Ensure Duplicate Memory Lend Requests are Rejected."
+
+expect {
+ "Total Failures: 0" {
+ puts "<<SUCCESS>>"
+ }
+ timeout {
+ exit_uart -1
+ }
+}
+
+exit_uart 0
+