From patchwork Mon Jan 28 08:44:18 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2/2] efirtmisc: add UEFI runtime service QueryCapsuleCapabilities interface stress test Date: Sun, 27 Jan 2013 22:44:18 -0000 From: IvanHu X-Patchwork-Id: 216123 Message-Id: <1359362658-10072-1-git-send-email-ivan.hu@canonical.com> To: fwts-devel@lists.ubuntu.com Signed-off-by: Ivan Hu Acked-by: Colin Ian King Acked-by: Alex Hung --- src/uefi/uefirtmisc/uefirtmisc.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/uefi/uefirtmisc/uefirtmisc.c b/src/uefi/uefirtmisc/uefirtmisc.c index 8d7236c..8fd4b4c 100644 --- a/src/uefi/uefirtmisc/uefirtmisc.c +++ b/src/uefi/uefirtmisc/uefirtmisc.c @@ -181,7 +181,14 @@ static int uefirtmisc_test1(fwts_framework *fw) static int uefirtmisc_test2(fwts_framework *fw) { int ret; - uint32_t multitesttime = 1024; + uint32_t multitesttime = 512; + uint32_t i; + + uint32_t flag[] = { 0, + CAPSULE_FLAGS_PERSIST_ACROSS_RESET, + CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE, + CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_INITIATE_RESET, + CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE | CAPSULE_FLAGS_INITIATE_RESET}; fwts_log_info(fw, "Stress testing for UEFI runtime service GetNextHighMonotonicCount interface."); ret = getnexthighmonotoniccount_test(fw, multitesttime); @@ -190,6 +197,17 @@ static int uefirtmisc_test2(fwts_framework *fw) fwts_passed(fw, "UEFI runtime service GetNextHighMonotonicCount interface stress test passed."); + fwts_log_info(fw, "Stress testing UEFI runtime service QueryCapsuleCapabilities interface."); + for (i = 0; i < (sizeof(flag)/(sizeof flag[0])); i++) { + ret = querycapsulecapabilities_test(fw, multitesttime, flag[i]); + if (ret == FWTS_SKIP) + continue; + if (ret != FWTS_OK) + return ret; + fwts_passed(fw, "UEFI runtime service QueryCapsuleCapabilities interface stress test with flag value 0x%" PRIx32 " passed.", flag[i]); + + } + return FWTS_OK; }