aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2019-05-28 11:17:22 +0530
committerStewart Smith <stewart@linux.ibm.com>2019-06-03 10:28:57 +1000
commite2fcc4dd6d583d0affc12f5c0c61869c31463dbe (patch)
tree67a69308a00ca7c12c31c0a4539de2b615236acf
parentb6fce51e31703ea95bf8dede4d9dc1f2dcd56639 (diff)
downloadskiboot-e2fcc4dd6d583d0affc12f5c0c61869c31463dbe.zip
skiboot-e2fcc4dd6d583d0affc12f5c0c61869c31463dbe.tar.gz
skiboot-e2fcc4dd6d583d0affc12f5c0c61869c31463dbe.tar.bz2
core/test/run-msg: Add callback function test
- Test callback function - Add test case to test OPAL_PARTIAL return value - Add test for OPAL_PARAMETER return value Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
-rw-r--r--core/test/run-msg.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/core/test/run-msg.c b/core/test/run-msg.c
index f5f948a..34bb424 100644
--- a/core/test/run-msg.c
+++ b/core/test/run-msg.c
@@ -63,7 +63,7 @@ void opal_update_pending_evt(uint64_t evt_mask, uint64_t evt_values)
static long magic = 8097883813087437089UL;
static void callback(void *data, int status)
{
- assert(status == OPAL_SUCCESS);
+ assert((status == OPAL_SUCCESS || status == OPAL_PARTIAL));
assert(*(uint64_t *)data == magic);
}
@@ -140,6 +140,23 @@ int main(void)
assert(list_count(&msg_pending_list) == --npending);
assert(list_count(&msg_free_list) == nfree);
+ /* Return OPAL_PARTIAL to callback */
+ r = opal_queue_msg(0, &magic, callback, 0, 1, 2, 3, 4, 5, 6, 7, 0xBADDA7A);
+ assert(r == 0);
+
+ assert(list_count(&msg_pending_list) == ++npending);
+ assert(list_count(&msg_free_list) == nfree);
+
+ r = opal_get_msg(m_ptr, sizeof(m));
+ assert(r == OPAL_PARTIAL);
+
+ assert(list_count(&msg_pending_list) == --npending);
+ assert(list_count(&msg_free_list) == nfree);
+
+ /* return OPAL_PARAMETER */
+ r = _opal_queue_msg(0, NULL, NULL, OPAL_MSG_SIZE, m_ptr);
+ assert(r == OPAL_PARAMETER);
+
assert(m.params[0] == 0);
assert(m.params[1] == 1);
assert(m.params[2] == 2);