diff options
author | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2019-05-28 11:17:22 +0530 |
---|---|---|
committer | Stewart Smith <stewart@linux.ibm.com> | 2019-06-03 10:28:57 +1000 |
commit | e2fcc4dd6d583d0affc12f5c0c61869c31463dbe (patch) | |
tree | 67a69308a00ca7c12c31c0a4539de2b615236acf | |
parent | b6fce51e31703ea95bf8dede4d9dc1f2dcd56639 (diff) | |
download | skiboot-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.c | 19 |
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); |