diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2011-05-24 21:18:35 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2011-06-02 15:14:28 -0500 |
commit | 74b9b31c9ae811dd527d4eb328e9fa93327442ab (patch) | |
tree | 848b6ad8a46f8a5a8065f80fcaddf07d061b3be2 /src/usr/devicefw/test | |
parent | f0e44bc60ca80d5bf875f0836a119e361d84dd44 (diff) | |
download | talos-hostboot-74b9b31c9ae811dd527d4eb328e9fa93327442ab.tar.gz talos-hostboot-74b9b31c9ae811dd527d4eb328e9fa93327442ab.zip |
Errl support for device framework.
Change-Id: I7849df2994312c6e91d9f86431c2d084c26b21cf
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/99
Tested-by: Jenkins Server
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Diffstat (limited to 'src/usr/devicefw/test')
-rw-r--r-- | src/usr/devicefw/test/associatortest.H | 60 |
1 files changed, 47 insertions, 13 deletions
diff --git a/src/usr/devicefw/test/associatortest.H b/src/usr/devicefw/test/associatortest.H index 792b6c3ef..3d7aa6a32 100644 --- a/src/usr/devicefw/test/associatortest.H +++ b/src/usr/devicefw/test/associatortest.H @@ -2,6 +2,8 @@ #define __TEST_ASSOCIATORTEST_H #include <cxxtest/TestSuite.H> +#include <errl/errlentry.H> +#include <devicefw/devfwreasoncodes.H> #include "../associator.H" using namespace DeviceFW; @@ -33,10 +35,10 @@ public: // Used for registration testing. static - ErrorHandle_t performOperation(OperationType i_opType, - TargetHandle_t i_target, - void* io_buffer, size_t& io_buflen, - int64_t i_accessType, va_list i_addr) + errlHndl_t performOperation(OperationType i_opType, + TargetHandle_t i_target, + void* io_buffer, size_t& io_buflen, + int64_t i_accessType, va_list i_addr) { g_associatorTest_result = g_associatorTest_value; g_associatorTest_opType = i_opType; @@ -61,9 +63,9 @@ public: PROCESSOR, &performOperation); - ErrorHandle_t l_errl = as.performOp(READ, TargetHandle_t(), - buf, bufsize, - SCOM, va_list()); + errlHndl_t l_errl = as.performOp(READ, TargetHandle_t(), + buf, bufsize, + SCOM, va_list()); if (l_errl) { @@ -102,9 +104,9 @@ public: PROCESSOR, &performOperation); - ErrorHandle_t l_errl = as.performOp(WRITE, TargetHandle_t(), - buf, bufsize, - SCOM, va_list()); + errlHndl_t l_errl = as.performOp(WRITE, TargetHandle_t(), + buf, bufsize, + SCOM, va_list()); if (l_errl) { @@ -143,9 +145,9 @@ public: WILDCARD, &performOperation); - ErrorHandle_t l_errl = as.performOp(READ, TargetHandle_t(), - buf, bufsize, - SCOM, va_list()); + errlHndl_t l_errl = as.performOp(READ, TargetHandle_t(), + buf, bufsize, + SCOM, va_list()); if (l_errl) { @@ -168,6 +170,38 @@ public: } } + + /** + * @test Verify missing registration returns an error log. + */ + void testMissingRegistration() + { + void* buf = NULL; + size_t bufsize = 0; + + g_associatorTest_value = &AssociatorTest::testMissingRegistration; + + Associator as; + as.registerRoute(READ, + SCOM, + WILDCARD, + &performOperation); + + errlHndl_t l_errl = as.performOp(READ, TargetHandle_t(), + buf, bufsize, + MAILBOX, va_list()); + + if (NULL == l_errl) + { + TS_FAIL("Error not received from performOp."); + } + else if (DEVFW_RC_NO_ROUTE_FOUND != l_errl->reasonCode()) + { + TS_FAIL("Reason code different from DEVFW_RC_NO_ROUTE_FOUND."); + } + } + + }; #endif |