From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=eric.jin@intel.com; receiver=edk2-devel@lists.01.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8210121106F21 for ; Fri, 12 Oct 2018 01:20:13 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Oct 2018 01:20:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,371,1534834800"; d="scan'208";a="271781499" Received: from shwdeopenpsi175.ccr.corp.intel.com ([10.239.9.140]) by fmsmga006.fm.intel.com with ESMTP; 12 Oct 2018 01:20:10 -0700 From: Eric Jin To: edk2-devel@lists.01.org Date: Fri, 12 Oct 2018 16:20:07 +0800 Message-Id: <20181012082007.2936-1-eric.jin@intel.com> X-Mailer: git-send-email 2.9.0.windows.1 Subject: [edk2-test][Patch] uefi-sct/EMS:Add the checkpoint for SetData X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Oct 2018 08:20:13 -0000 Spec clarifies the configuration clearance behavior Correct the end line Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Eric Jin Cc: Supreeth Venkatesh --- .../IP4Config2/Include/Ip4Config2AssertionGuid.tcl | 5 +- .../TestCase/IP4Config2/SetData.Func1.Case2.tcl | 714 +++++++++++++ .../Bin/TestCase/IP6Config/GetData.Conf1.Case1.tcl | 142 +-- .../Bin/TestCase/IP6Config/GetData.Conf2.Case1.tcl | 140 +-- .../Bin/TestCase/IP6Config/GetData.Conf3.Case1.tcl | 788 +++++++------- .../Bin/TestCase/IP6Config/GetData.Conf4.Case1.tcl | 144 +-- .../Bin/TestCase/IP6Config/GetData.Conf5.Case1.tcl | 982 +++++++++--------- .../Bin/TestCase/IP6Config/GetData.Func1.Case1.tcl | 542 +++++----- .../TestCase/IP6Config/Include/Ip6Config.inc.tcl | 192 ++-- .../TestCase/IP6Config/Include/Ip6Config.proc.tcl | 30 +- .../IP6Config/Include/Ip6ConfigAssertionGuid.tcl | 180 ++-- .../TestCase/IP6Config/Include/Ip6ConfigDefine.tcl | 102 +- .../IP6Config/RegisterDataNotify.Conf1.Case1.tcl | 178 ++-- .../IP6Config/RegisterDataNotify.Conf2.Case1.tcl | 178 ++-- .../IP6Config/RegisterDataNotify.Conf3.Case1.tcl | 216 ++-- .../IP6Config/RegisterDataNotify.Func1.Case1.tcl | 1076 ++++++++++---------- .../IP6Config/RegisterDataNotify.Func1.Case2.tcl | 530 +++++----- .../Bin/TestCase/IP6Config/SetData.Conf1.Case1.tcl | 142 +-- .../Bin/TestCase/IP6Config/SetData.Conf2.Case1.tcl | 596 +++++------ .../Bin/TestCase/IP6Config/SetData.Conf3.Case1.tcl | 142 +-- .../Bin/TestCase/IP6Config/SetData.Conf4.Case1.tcl | 474 ++++----- .../Bin/TestCase/IP6Config/SetData.Conf5.Case1.tcl | 556 +++++----- .../Bin/TestCase/IP6Config/SetData.Conf6.Case1.tcl | 142 +-- .../Bin/TestCase/IP6Config/SetData.Conf7.Case1.tcl | 1020 +++++++++---------- .../Bin/TestCase/IP6Config/SetData.Func1.Case1.tcl | 546 +++++----- .../Bin/TestCase/IP6Config/SetData.Func2.Case1.tcl | 838 +++++++++++++++ .../IP6Config/UnregisterDataNotify.Conf1.Case1.tcl | 178 ++-- .../IP6Config/UnregisterDataNotify.Conf2.Case1.tcl | 164 +-- .../IP6Config/UnregisterDataNotify.Conf2.Case2.tcl | 196 ++-- .../IP6Config/UnregisterDataNotify.Func1.Case1.tcl | 194 ++-- .../IP6Config/UnregisterDataNotify.Func1.Case2.tcl | 472 ++++----- 31 files changed, 6683 insertions(+), 5116 deletions(-) create mode 100644 uefi-sct/EMS/Bin/TestCase/IP4Config2/SetData.Func1.Case2.tcl create mode 100644 uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Func2.Case1.tcl diff --git a/uefi-sct/EMS/Bin/TestCase/IP4Config2/Include/Ip4Config2AssertionGuid.tcl b/uefi-sct/EMS/Bin/TestCase/IP4Config2/Include/Ip4Config2AssertionGuid.tcl index 91a4fd1..e0604b2 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP4Config2/Include/Ip4Config2AssertionGuid.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP4Config2/Include/Ip4Config2AssertionGuid.tcl @@ -1,6 +1,6 @@ # # Copyright 2017 Unified EFI, Inc.
-# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -39,6 +39,9 @@ set Ip4Config2SetDataFunc1AssertionGuid008 00FBB58A-4BB3-499F-AE6B-744B6B9932E6 set Ip4Config2SetDataFunc1AssertionGuid009 DB8EF05C-085F-45D1-A0B1-DC2F307B6F1E set Ip4Config2SetDataFunc1AssertionGuid010 29143621-896C-4FB9-9E70-7A4D2DA6BEE0 set Ip4Config2SetDataFunc1AssertionGuid011 72FEDF83-6755-4212-AF0F-780F457EFAA7 +set Ip4Config2SetDataFunc1AssertionGuid012 EB7769D1-A31F-4F37-86F3-2BBF54834785 +set Ip4Config2SetDataFunc1AssertionGuid013 78F3A664-A8E4-43B8-961F-71033E9145F2 +set Ip4Config2SetDataFunc1AssertionGuid014 7F717D50-3A7C-4E2A-9F15-0A802E9BAFE6 # # Guid for GetData() interface diff --git a/uefi-sct/EMS/Bin/TestCase/IP4Config2/SetData.Func1.Case2.tcl b/uefi-sct/EMS/Bin/TestCase/IP4Config2/SetData.Func1.Case2.tcl new file mode 100644 index 0000000..0517032 --- /dev/null +++ b/uefi-sct/EMS/Bin/TestCase/IP4Config2/SetData.Func1.Case2.tcl @@ -0,0 +1,714 @@ +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel FUNCTION +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid B2AD20DF-2325-42B2-A199-A49ADF04A5DD +CaseName SetData.Func1.Case2 +CaseCategory IP4Config2 +CaseDescription {SetData must succeed When DataSize is 0 and + Data is NULL,and existing configuration is cleared.} + +################################################################################ +Include IP4Config2/Include/Ip4Config2.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip4Config2DataSize +UINT32 R_Ip4Config2DataType +UINT32 R_Ip4Config2Policy + +# +# Check Point: Call Ip4Config2->SetData to set Static policy +# +SetVar R_Ip4Config2DataType $IP4C2DT(Policy) +SetVar R_Ip4Config2DataSize [Sizeof UINT32] +SetVar R_Ip4Config2Policy $IP4C2P(Static) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip4Config2->RegisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip4Config2->SetData "@R_Ip4Config2DataType,@R_Ip4Config2DataSize,&@R_Ip4Config2Policy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid001 \ + "Ip4Config2.SetData - Call SetData to set Static policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid001 \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip4Config2DataType $IP4C2DT(Policy) + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid001 \ + "Ip4Config2.SetData - Call SetData to set Static policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip4Config2DataType $IP4C2DT(Policy) + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + + +Ip4Config2->GetData "@R_Ip4Config2DataType,&@R_Ip4Config2DataSize,&@R_Ip4Config2Policy,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.GetData - Call GetData to get policy value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip4Config2Policy +if { $R_Ip4Config2Policy == $IP4C2P(Static) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid002 \ + "Set Static policy succeeds(event is signaled correctly and data correct)." + SetVar R_Ip4Config2Policy $IP4C2DT(Policy) + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + +Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid002 \ + "Set Static policy succeeds(event is signaled correctly and data correct)." + +# +# Check Point : Set Manual Address +# +EFI_IP4_CONFIG2_MANUAL_ADDRESS R_Temp_Ip4Config2ManualAddress +EFI_IP4_CONFIG2_MANUAL_ADDRESS R_Ip4Config2ManualAddress +SetVar R_Ip4Config2DataType $IP4C2DT(ManualAddress) +SetVar R_Ip4Config2DataSize [Sizeof EFI_IP4_CONFIG2_MANUAL_ADDRESS] +SetIpv4Address R_Temp_Ip4Config2ManualAddress.Address "10.239.9.15" +SetIpv4Address R_Temp_Ip4Config2ManualAddress.SubnetMask "255.255.255.0" +SetVar R_Ip4Config2ManualAddress @R_Temp_Ip4Config2ManualAddress + +SetVar R_Context 0 +Ip4Config2->RegisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + +Ip4Config2->SetData "@R_Ip4Config2DataType,@R_Ip4Config2DataSize,&@R_Ip4Config2ManualAddress,&@R_Status" +GetAck +GetVar R_Status + +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid003 \ + "Ip4Config2.SetData - Call SetData to set Manual Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid003 \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip4Config2DataType $IP4C2DT(ManualAddress) + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid003 \ + "IP4Config2.SetData - Call SetData to set Manual Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip4Config2DataType $IP4C2DT(ManualAddress) + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + + +Ip4Config2->GetData "@R_Ip4Config2DataType,&@R_Ip4Config2DataSize,&@R_Ip4Config2ManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.GetData - Call GetData to get Manual Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + +EFI_IPv4_ADDRESS R_Addr1 +EFI_IPv4_ADDRESS R_Addr2 +set R_Addr1 [GetIpv4Address R_Ip4Config2ManualAddress.Address] +puts "R_Addr1 - $R_Addr1" +set R_Addr2 [GetIpv4Address R_Ip4Config2ManualAddress.SubnetMask] +puts "R_Addr1 - $R_Addr2" + +if {[string compare -nocase $R_Addr1 10.239.9.15] == 0} { + if {[string compare -nocase $R_Addr2 255.255.255.0] == 0} { + set assert pass + } else { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid004 \ + "Set ManualAddress succeeds(event is signaled correctly and data correct)." + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return + } +} else { + set assert fail + + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid004 \ + "Set ManualAddress succeeds(event is signaled correctly and data correct)." + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + +Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid004 \ + "Set ManualAddress succeeds(event is signaled correctly and data correct)." + +# +# Check Points : Set Gateway +# +EFI_IPv4_ADDRESS R_Ip4Config2Gateway +SetVar R_Ip4Config2DataType $IP4C2DT(Gateway) +SetVar R_Ip4Config2DataSize [Sizeof EFI_IPv4_ADDRESS] +SetIpv4Address R_Ip4Config2Gateway "10.239.9.241" + +SetVar R_Context 0 +Ip4Config2->RegisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip4Config2->SetData "@R_Ip4Config2DataType,@R_Ip4Config2DataSize,&@R_Ip4Config2Gateway,&@R_Status" +GetAck +GetVar R_Status + +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid005 \ + "Ip4Config2.SetData - Call SetData to set Gateway Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid005 \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid005 \ + "Ip4Config2.SetData - Call SetData to set Gateway Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + + +Ip4Config2->GetData "@R_Ip4Config2DataType,&@R_Ip4Config2DataSize,&@R_Ip4Config2Gateway,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.GetData - Call GetData to get Gateway Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +EFI_IPv4_ADDRESS R_Addr3 +set R_Addr3 [GetIpv4Address R_Ip4Config2Gateway] +puts "R_Addr3 - $R_Addr3" + +if {[string compare -nocase $R_Addr3 10.239.9.241] == 0} { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid006 \ + "Set Gateway succeeds(event is signaled correctly and data correct)." + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + +Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid006 \ + "Set Gateway succeeds(event is signaled correctly and data correct)." + +# +# Check Point : Set Dns Server +# +EFI_IPv4_ADDRESS R_Ip4Config2DnsServer +SetVar R_Ip4Config2DataType $IP4C2DT(DnsServer) +SetVar R_Ip4Config2DataSize [Sizeof EFI_IPv4_ADDRESS] +SetIpv4Address R_Ip4Config2DnsServer "10.248.2.5" + +SetVar R_Context 0 +Ip4Config2->RegisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip4Config2->SetData "@R_Ip4Config2DataType,@R_Ip4Config2DataSize,&@R_Ip4Config2DnsServer,&@R_Status" +GetAck +GetVar R_Status + +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid007 \ + "Ip4Config2.SetData - Call SetData to set Dns Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid007 \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid007 \ + "Ip4Config2.SetData - Call SetData to set Dns Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + + +Ip4Config2->GetData "@R_Ip4Config2DataType,&@R_Ip4Config2DataSize,&@R_Ip4Config2DnsServer,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.GetData - Call GetData to get Dns Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +EFI_IPv4_ADDRESS R_Addr4 +set R_Addr4 [GetIpv4Address R_Ip4Config2DnsServer] +puts "R_Addr4 - $R_Addr4" + +if {[string compare -nocase $R_Addr4 10.248.2.5] == 0} { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid008 \ + "Set Dns succeeds(event is signaled correctly and data correct)." + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + +Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid008 \ + "Set Dns succeeds(event is signaled correctly and data correct)." + + + +# +# Clean up - Call SetData when DataSize is 0 and Data is NULL +# + + + +# +# Set Manual Address +# + +SetVar R_Ip4Config2DataType $IP4C2DT(ManualAddress) +SetVar R_Ip4Config2DataSize 0 + + + +SetVar R_Context 0 +Ip4Config2->RegisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + +Ip4Config2->SetData "@R_Ip4Config2DataType,@R_Ip4Config2DataSize,NULL,&@R_Status" +GetAck +GetVar R_Status + +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid012 \ + "Ip4Config2.SetData - Call SetData to clear Manual Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid012 \ + "SetData to clear Manual Address failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip4Config2DataType $IP4C2DT(ManualAddress) + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid012 \ + "IP4Config2.SetData - Call SetData to clear Manual Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip4Config2DataType $IP4C2DT(ManualAddress) + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + +Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +SetVar R_Ip4Config2DataSize [Sizeof EFI_IP4_CONFIG2_MANUAL_ADDRESS] +Ip4Config2->GetData "@R_Ip4Config2DataType,&@R_Ip4Config2DataSize,&@R_Ip4Config2ManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.GetData - Call GetData to get Manual Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" + +# +# Set Gateway Address +# + + +SetVar R_Ip4Config2DataType $IP4C2DT(Gateway) +SetVar R_Ip4Config2DataSize 0 + +SetVar R_Context 0 +Ip4Config2->RegisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip4Config2->SetData "@R_Ip4Config2DataType,@R_Ip4Config2DataSize,NULL,&@R_Status" +GetAck +GetVar R_Status + +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid013 \ + "Ip4Config2.SetData - Call SetData to clear Gateway Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid013 \ + "SetData to clear Gateway Address failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid013 \ + "Ip4Config2.SetData - Call SetData to clear Gateway Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + +Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +SetVar R_Ip4Config2DataSize [Sizeof EFI_IPv4_ADDRESS] +Ip4Config2->GetData "@R_Ip4Config2DataType,&@R_Ip4Config2DataSize,&@R_Ip4Config2Gateway,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.GetData - Call GetData to get Gateway Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" + + +# +# Check Point : Set Dns Server +# + +SetVar R_Ip4Config2DataType $IP4C2DT(DnsServer) +SetVar R_Ip4Config2DataSize 0 + +SetVar R_Context 0 +Ip4Config2->RegisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip4Config2->SetData "@R_Ip4Config2DataType,@R_Ip4Config2DataSize,NULL,&@R_Status" +GetAck +GetVar R_Status + +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid014 \ + "Ip4Config2.SetData - Call SetData to clear Dns Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid014 \ + "SetData to clear Dns Address failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip4Config2SetDataFunc1AssertionGuid014 \ + "Ip4Config2.SetData - Call SetData to clear Dns Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + EndLog + return +} + +Ip4Config2->UnregisterDataNotify "@R_Ip4Config2DataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +SetVar R_Ip4Config2DataSize [Sizeof EFI_IPv4_ADDRESS] +Ip4Config2->GetData "@R_Ip4Config2DataType,&@R_Ip4Config2DataSize,&@R_Ip4Config2DnsServer,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip4Config2.GetData - Call GetData to get Dns Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" + + + +EndScope _IP4CONFIG2_SETDATA_FUNC1_CASE2 + +EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf1.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf1.Case1.tcl index a6b788d..beeb2fb 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf1.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf1.Case1.tcl @@ -1,72 +1,72 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 11FF93B5-8A85-4770-88C2-99E0AF9AE0AA -CaseName GetData.Conf1.Case1 -CaseCategory IP6Config -CaseDescription {GetData must not succeed when data size is NULL.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_GETDATA_CONF1 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress - -# -# Check Point: Call Ip6Config->GetData with datasize is NULL. -# -SetVar R_Ip6ConfigDataType $IP6CDT(InterfaceInfo) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_INFO] - -Ip6Config->GetData "@R_Ip6ConfigDataType,NULL,&@R_Ip6ConfigInterfaceInfo,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] -RecordAssertion $assert $Ip6ConfigGetDataConf1AssertionGuid001 \ - "Ip6Config.GetData - Call GetData with DataSize NULL." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" - -EndScope _IP6CONFIG_GETDATA_CONF1 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 11FF93B5-8A85-4770-88C2-99E0AF9AE0AA +CaseName GetData.Conf1.Case1 +CaseCategory IP6Config +CaseDescription {GetData must not succeed when data size is NULL.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_GETDATA_CONF1 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress + +# +# Check Point: Call Ip6Config->GetData with datasize is NULL. +# +SetVar R_Ip6ConfigDataType $IP6CDT(InterfaceInfo) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_INFO] + +Ip6Config->GetData "@R_Ip6ConfigDataType,NULL,&@R_Ip6ConfigInterfaceInfo,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] +RecordAssertion $assert $Ip6ConfigGetDataConf1AssertionGuid001 \ + "Ip6Config.GetData - Call GetData with DataSize NULL." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" + +EndScope _IP6CONFIG_GETDATA_CONF1 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf2.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf2.Case1.tcl index c095756..6f90a9c 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf2.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf2.Case1.tcl @@ -1,71 +1,71 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid B4C48D71-EF72-42e0-BD57-4825F7EB7B9F -CaseName GetData.Conf2.Case1 -CaseCategory IP6Config -CaseDescription {GetData must not succeed when data is NULL if data size is not zero.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_GETDATA_CONF2 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress - -# -# Check Point: Call Ip6Config->GetData with data is NULL. -# -SetVar R_Ip6ConfigDataType $IP6CDT(InterfaceInfo) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_INFO] - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,NULL,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] -RecordAssertion $assert $Ip6ConfigGetDataConf2AssertionGuid001 \ - "Ip6Config.GetData - Call GetData with Data NULL." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" - -EndScope _IP6CONFIG_GETDATA_CONF2 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid B4C48D71-EF72-42e0-BD57-4825F7EB7B9F +CaseName GetData.Conf2.Case1 +CaseCategory IP6Config +CaseDescription {GetData must not succeed when data is NULL if data size is not zero.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_GETDATA_CONF2 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress + +# +# Check Point: Call Ip6Config->GetData with data is NULL. +# +SetVar R_Ip6ConfigDataType $IP6CDT(InterfaceInfo) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_INFO] + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,NULL,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] +RecordAssertion $assert $Ip6ConfigGetDataConf2AssertionGuid001 \ + "Ip6Config.GetData - Call GetData with Data NULL." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" + +EndScope _IP6CONFIG_GETDATA_CONF2 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf3.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf3.Case1.tcl index c90d442..5688648 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf3.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf3.Case1.tcl @@ -1,395 +1,395 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 7B341FC4-1F10-4851-83AD-103A56B0EC35 -CaseName GetData.Conf3.Case1 -CaseCategory IP6Config -CaseDescription {GetData must not succeed when DataSize is too small for the data type.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_GETDATA_CONF3 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_Context1 -UINTN R_DoneEvent -UINTN R_DoneEvent1 -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF3 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF3 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get policy value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy failure (event is signaled correctly and data correct)." - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF3 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." - -# -# Check Point : Set Manual Address with valid value -# -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress - -set L_ManualListLen 1 -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress -set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize $L_ListLen -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5001" -SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress - -SetVar R_Context1 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ - &@R_DoneEvent1, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData with valid value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context1 - if { $R_Context1 == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF3 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual address." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF3 - EndLog - return -} - -# -# Check Point : Get Manual Address with datasize too small -# -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize 16 - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_BUFFER_TOO_SMALL] -RecordAssertion $assert $Ip6ConfigGetDataConf3AssertionGuid001 \ - "Ip6Config.GetData - Call GetData with the datasize too small." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BUFFER_TOO_SMALL" - -GetVar R_Ip6ConfigDataSize -set L_ObtainedSize [ expr { $R_Ip6ConfigDataSize } ] -set L_DesiredSize [ Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS ] -if { [ expr { $L_ObtainedSize % $L_DesiredSize } ] == 0 } { - set assert pass -} else { - set assert fail -} -RecordAssertion $assert $Ip6ConfigGetDataConf3AssertionGuid002 \ - "Ip6Config.GetData - Correctly Modify the DataSize." \ - "ReturnSize - $L_ObtainedSize, ExpectedSize - $L_DesiredSize" - -# -# Clean up -# - -# -# Set automatic policy (this will clean up all address information configured) -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Automatic) - -SetVar R_Context 0 - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - set assert pass - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - - EndScope _IP6CONFIG_GETDATA_CONF3 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - - EndScope _IP6CONFIG_GETDATA_CONF3 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Automatic) } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - - EndScope _IP6CONFIG_GETDATA_CONF3 - EndLog - return -} - -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - -# -# Unregister Event for Manual Address and close event -# -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent1,&@R_Status} -GetAck -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_GETDATA_CONF3 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 7B341FC4-1F10-4851-83AD-103A56B0EC35 +CaseName GetData.Conf3.Case1 +CaseCategory IP6Config +CaseDescription {GetData must not succeed when DataSize is too small for the data type.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_GETDATA_CONF3 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_Context1 +UINTN R_DoneEvent +UINTN R_DoneEvent1 +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF3 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF3 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get policy value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy failure (event is signaled correctly and data correct)." + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF3 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + +# +# Check Point : Set Manual Address with valid value +# +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress + +set L_ManualListLen 1 +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize $L_ListLen +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5001" +SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress + +SetVar R_Context1 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ + &@R_DoneEvent1, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData with valid value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context1 + if { $R_Context1 == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF3 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF3 + EndLog + return +} + +# +# Check Point : Get Manual Address with datasize too small +# +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize 16 + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_BUFFER_TOO_SMALL] +RecordAssertion $assert $Ip6ConfigGetDataConf3AssertionGuid001 \ + "Ip6Config.GetData - Call GetData with the datasize too small." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BUFFER_TOO_SMALL" + +GetVar R_Ip6ConfigDataSize +set L_ObtainedSize [ expr { $R_Ip6ConfigDataSize } ] +set L_DesiredSize [ Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS ] +if { [ expr { $L_ObtainedSize % $L_DesiredSize } ] == 0 } { + set assert pass +} else { + set assert fail +} +RecordAssertion $assert $Ip6ConfigGetDataConf3AssertionGuid002 \ + "Ip6Config.GetData - Correctly Modify the DataSize." \ + "ReturnSize - $L_ObtainedSize, ExpectedSize - $L_DesiredSize" + +# +# Clean up +# + +# +# Set automatic policy (this will clean up all address information configured) +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Automatic) + +SetVar R_Context 0 + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + set assert pass + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + + EndScope _IP6CONFIG_GETDATA_CONF3 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + + EndScope _IP6CONFIG_GETDATA_CONF3 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Automatic) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + + EndScope _IP6CONFIG_GETDATA_CONF3 + EndLog + return +} + +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + +# +# Unregister Event for Manual Address and close event +# +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent1,&@R_Status} +GetAck +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_GETDATA_CONF3 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf4.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf4.Case1.tcl index e36cdfc..bd38be0 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf4.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf4.Case1.tcl @@ -1,73 +1,73 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid F340A957-9345-478d-BE53-5F7C561C1866 -CaseName GetData.Conf4.Case1 -CaseCategory IP6Config -CaseDescription {GetData must not succeed when data type is not found.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_GETDATA_CONF4 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -UINTN R_Ip6ConfigMaximumType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress - -# -# Check Point: Call Ip6Config->GetData with the date type not existing. -# -SetVar R_Ip6ConfigDataType $IP6CDT(Maximum) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigMaximumType,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] -RecordAssertion $assert $Ip6ConfigGetDataConf4AssertionGuid001 \ - "Ip6Config.GetData - Call GetData with Datatype not existing." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" - -EndScope _IP6CONFIG_GETDATA_CONF4 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid F340A957-9345-478d-BE53-5F7C561C1866 +CaseName GetData.Conf4.Case1 +CaseCategory IP6Config +CaseDescription {GetData must not succeed when data type is not found.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_GETDATA_CONF4 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +UINTN R_Ip6ConfigMaximumType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress + +# +# Check Point: Call Ip6Config->GetData with the date type not existing. +# +SetVar R_Ip6ConfigDataType $IP6CDT(Maximum) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigMaximumType,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] +RecordAssertion $assert $Ip6ConfigGetDataConf4AssertionGuid001 \ + "Ip6Config.GetData - Call GetData with Datatype not existing." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" + +EndScope _IP6CONFIG_GETDATA_CONF4 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf5.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf5.Case1.tcl index c39323f..c186520 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf5.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Conf5.Case1.tcl @@ -1,492 +1,492 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 6638523D-470B-4c50-AE75-DE0CE6854DE8 -CaseName GetData.Conf5.Case1 -CaseCategory IP6Config -CaseDescription {GetData must not succeed when the last asynchronous process for the data type has not been finished yet.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_GETDATA_CONF5 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Context1 -UINTN R_DoneEvent1 -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get policy value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." -# -# Check Point: Call Ip6Config->SetData to set DadXmits 20 -# -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] -SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 20 - -SetVar R_Context1 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ - &@R_DoneEvent1, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set DadXmits 10." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context1 - if { $R_Context1 == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set DadXmits 10." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get DadXmits value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits -if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 20 } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Set DadXmits succeeds(event is signaled correctly and data correct)." - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set DadXmits succeeds(event is signaled correctly and data correct)." - -# -# Check Point : Set Manual Address with valid parameter -# -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress - -set L_ManualListLen 1 -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress -set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize $L_ListLen -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" -SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_NOT_READY } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual address with valid parameter." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_READY" - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual address with valid parameter." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_READY" - -# -# Check Point : Get Manual Address with valid parameter before the former setting finishes -# -set L_ManualListLen 1 -set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize $L_ListLen - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_NOT_READY] -RecordAssertion $assert $Ip6ConfigGetDataConf5AssertionGuid001 \ - "Ip6Config.SetData - Call GetData to get manual address before the former setting finishes." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_READY" - -# -# Make sure the former configurations succeeds -# (Eliminate the side-effect to other cases) -# -set i 0 -set L_TimeOut 30 -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -GetVar R_Status -set assert pass -while { $R_Status == $EFI_NOT_READY } { - Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" - GetAck - GetVar R_Status - if { $R_Status == $EFI_SUCCESS } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - former SetData finishes." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return - } - incr i - Stall 1 -} -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - former SetData finishes." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - - -# -# Set automatic policy (this will clean up all address information configured) -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Automatic) - -SetVar R_Context 0 - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - set assert pass - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Automatic) } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - - EndScope _IP6CONFIG_GETDATA_CONF5 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent1,&@R_Status} -GetAck - -EndScope _IP6CONFIG_GETDATA_CONF5 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 6638523D-470B-4c50-AE75-DE0CE6854DE8 +CaseName GetData.Conf5.Case1 +CaseCategory IP6Config +CaseDescription {GetData must not succeed when the last asynchronous process for the data type has not been finished yet.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_GETDATA_CONF5 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Context1 +UINTN R_DoneEvent1 +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get policy value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." +# +# Check Point: Call Ip6Config->SetData to set DadXmits 20 +# +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 20 + +SetVar R_Context1 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ + &@R_DoneEvent1, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits 10." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context1 + if { $R_Context1 == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits 10." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get DadXmits value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits +if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 20 } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set DadXmits succeeds(event is signaled correctly and data correct)." + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set DadXmits succeeds(event is signaled correctly and data correct)." + +# +# Check Point : Set Manual Address with valid parameter +# +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress + +set L_ManualListLen 1 +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize $L_ListLen +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" +SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_NOT_READY } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual address with valid parameter." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_READY" + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual address with valid parameter." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_READY" + +# +# Check Point : Get Manual Address with valid parameter before the former setting finishes +# +set L_ManualListLen 1 +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize $L_ListLen + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_NOT_READY] +RecordAssertion $assert $Ip6ConfigGetDataConf5AssertionGuid001 \ + "Ip6Config.SetData - Call GetData to get manual address before the former setting finishes." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_READY" + +# +# Make sure the former configurations succeeds +# (Eliminate the side-effect to other cases) +# +set i 0 +set L_TimeOut 30 +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +GetVar R_Status +set assert pass +while { $R_Status == $EFI_NOT_READY } { + Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" + GetAck + GetVar R_Status + if { $R_Status == $EFI_SUCCESS } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - former SetData finishes." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return + } + incr i + Stall 1 +} +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - former SetData finishes." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + + +# +# Set automatic policy (this will clean up all address information configured) +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Automatic) + +SetVar R_Context 0 + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + set assert pass + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Automatic) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + + EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent1,&@R_Status} +GetAck + +EndScope _IP6CONFIG_GETDATA_CONF5 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Func1.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Func1.Case1.tcl index 6c4a72b..a0acc20 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Func1.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/GetData.Func1.Case1.tcl @@ -1,272 +1,272 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel FUNCTION -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid E4CD5B45-9CF5-4938-A243-7764F1E8CDE9 -CaseName GetData.Func1.Case1 -CaseCategory IP6Config -CaseDescription {GetData must succeed with valid parameters.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_GETDATA_FUNC1 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_Context1 -UINTN R_DoneEvent -UINTN R_DoneEvent1 -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->GetData to set AltInterfaceId -# -SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_ID] -SetVar R_Ip6ConfigInterfaceId.Id(0) 0 -SetVar R_Ip6ConfigInterfaceId.Id(1) 1 -SetVar R_Ip6ConfigInterfaceId.Id(2) 2 -SetVar R_Ip6ConfigInterfaceId.Id(3) 3 -SetVar R_Ip6ConfigInterfaceId.Id(4) 4 -SetVar R_Ip6ConfigInterfaceId.Id(5) 5 -SetVar R_Ip6ConfigInterfaceId.Id(6) 6 -SetVar R_Ip6ConfigInterfaceId.Id(7) 7 - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceId,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to set AltInterfaceId." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "GetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_FUNC1 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to set AltInterfaceId." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_FUNC1 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceId,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $Ip6ConfigGetDataFunc1AssertionGuid001 \ - "Ip6Config.GetData - Call GetData to get AltInterfaceId value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigInterfaceId -if { ${R_Ip6ConfigInterfaceId.Id(0)} == 0 && ${R_Ip6ConfigInterfaceId.Id(1)} == 1 && ${R_Ip6ConfigInterfaceId.Id(2)} == 2 && ${R_Ip6ConfigInterfaceId.Id(3)} == 3 && ${R_Ip6ConfigInterfaceId.Id(4)} == 4 && ${R_Ip6ConfigInterfaceId.Id(5)} == 5 && ${R_Ip6ConfigInterfaceId.Id(6)} == 6 && ${R_Ip6ConfigInterfaceId.Id(7)} == 7} { - set assert pass -} else { - set assert fail -} -RecordAssertion $assert $Ip6ConfigGetDataFunc1AssertionGuid002 \ - "Set AltInterfaceId succeeds(event is signaled correctly and data correct)." - -# -# Check Point: Call Ip6Config->SetData to set DadXmits -# -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] -SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 - -SetVar R_Context1 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ - &@R_DoneEvent1, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to set DadXmits." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context1 - if { $R_Context1 == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "GetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_FUNC1 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to set manual DadXmits." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_GETDATA_FUNC1 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $Ip6ConfigGetDataFunc1AssertionGuid003 \ - "Ip6Config.GetData - Call GetData to get DadXmits value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigDadTransmits -if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 3 } { - set assert pass -} else { - set assert fail -} -RecordAssertion $assert $Ip6ConfigGetDataFunc1AssertionGuid004 \ - "Set DadXmits succeeds(event is signaled correctly and data correct)." - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -BS->CloseEvent {@R_DoneEvent1,&@R_Status} -GetAck - -EndScope _IP6CONFIG_GETDATA_FUNC1 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel FUNCTION +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid E4CD5B45-9CF5-4938-A243-7764F1E8CDE9 +CaseName GetData.Func1.Case1 +CaseCategory IP6Config +CaseDescription {GetData must succeed with valid parameters.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_GETDATA_FUNC1 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_Context1 +UINTN R_DoneEvent +UINTN R_DoneEvent1 +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->GetData to set AltInterfaceId +# +SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_ID] +SetVar R_Ip6ConfigInterfaceId.Id(0) 0 +SetVar R_Ip6ConfigInterfaceId.Id(1) 1 +SetVar R_Ip6ConfigInterfaceId.Id(2) 2 +SetVar R_Ip6ConfigInterfaceId.Id(3) 3 +SetVar R_Ip6ConfigInterfaceId.Id(4) 4 +SetVar R_Ip6ConfigInterfaceId.Id(5) 5 +SetVar R_Ip6ConfigInterfaceId.Id(6) 6 +SetVar R_Ip6ConfigInterfaceId.Id(7) 7 + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceId,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to set AltInterfaceId." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "GetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_FUNC1 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to set AltInterfaceId." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_FUNC1 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceId,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $Ip6ConfigGetDataFunc1AssertionGuid001 \ + "Ip6Config.GetData - Call GetData to get AltInterfaceId value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigInterfaceId +if { ${R_Ip6ConfigInterfaceId.Id(0)} == 0 && ${R_Ip6ConfigInterfaceId.Id(1)} == 1 && ${R_Ip6ConfigInterfaceId.Id(2)} == 2 && ${R_Ip6ConfigInterfaceId.Id(3)} == 3 && ${R_Ip6ConfigInterfaceId.Id(4)} == 4 && ${R_Ip6ConfigInterfaceId.Id(5)} == 5 && ${R_Ip6ConfigInterfaceId.Id(6)} == 6 && ${R_Ip6ConfigInterfaceId.Id(7)} == 7} { + set assert pass +} else { + set assert fail +} +RecordAssertion $assert $Ip6ConfigGetDataFunc1AssertionGuid002 \ + "Set AltInterfaceId succeeds(event is signaled correctly and data correct)." + +# +# Check Point: Call Ip6Config->SetData to set DadXmits +# +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 + +SetVar R_Context1 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ + &@R_DoneEvent1, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to set DadXmits." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context1 + if { $R_Context1 == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "GetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_FUNC1 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to set manual DadXmits." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_GETDATA_FUNC1 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $Ip6ConfigGetDataFunc1AssertionGuid003 \ + "Ip6Config.GetData - Call GetData to get DadXmits value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigDadTransmits +if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 3 } { + set assert pass +} else { + set assert fail +} +RecordAssertion $assert $Ip6ConfigGetDataFunc1AssertionGuid004 \ + "Set DadXmits succeeds(event is signaled correctly and data correct)." + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +BS->CloseEvent {@R_DoneEvent1,&@R_Status} +GetAck + +EndScope _IP6CONFIG_GETDATA_FUNC1 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6Config.inc.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6Config.inc.tcl index 918038d..9e162e7 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6Config.inc.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6Config.inc.tcl @@ -1,96 +1,96 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -if {[info exist IP6CONFIG_INC] == 1} { - return -} -set IP6CONFIG_INC 1 - -Include Include/EntsProtocolTest.inc.tcl -Include Include/EntsConfigure.tcl -Include Include/EfiBootService.inc.tcl -Include Include/EfiGenericService.inc.tcl -Include EfiUtil/EfiInclude.tcl - -Include IP6/Include/Ip6.inc.tcl -Include IP6Config/Include/Ip6ConfigDefine.tcl -Include IP6Config/Include/Ip6Config.proc.tcl -Include IP6Config/Include/Ip6ConfigAssertionGuid.tcl -Include Include/GenericAssertionGuid.tcl - -################################################################### -# Function Declaration -################################################################### -Func Ip6Config->SetData { - UINT32 - UINTN - POINTER - POINTER -} - -Func Ip6Config->GetData { - UINT32 - POINTER - POINTER - POINTER -} - -Func Ip6Config->RegisterDataNotify { - UINT32 - UINTN - POINTER -} - -Func Ip6Config->UnregisterDataNotify { - UINT32 - UINTN - POINTER -} - - -################################################################### -# EFI_IP6_CONFIG_INTERFACE_INFO -################################################################### -Struct EFI_IP6_CONFIG_INTERFACE_INFO { - CHAR16 Name(32); - UINT8 IfType; - UINT32 HwAddressSize; - EFI_MAC_ADDRESS HwAddress; - UINT32 AddressInfoCount; - POINTER AddressInfo; - UINT32 RouteCount; - POINTER RouteTable; -} - -################################################################### -# EFI_IP6_CONFIG_INTERFACE_ID -################################################################### -Struct EFI_IP6_CONFIG_INTERFACE_ID { - UINT8 Id(8); -} - -################################################################### -# EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS -################################################################### -Struct EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS { - UINT32 DupAddrDetectTransmits; -} - -################################################################### -# EFI_IP6_CONFIG_MANUAL_ADDRESS -################################################################### -Struct EFI_IP6_CONFIG_MANUAL_ADDRESS { - EFI_IPv6_ADDRESS Address; - BOOLEAN IsAnycast; - UINT8 PrefixLength; -} - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +if {[info exist IP6CONFIG_INC] == 1} { + return +} +set IP6CONFIG_INC 1 + +Include Include/EntsProtocolTest.inc.tcl +Include Include/EntsConfigure.tcl +Include Include/EfiBootService.inc.tcl +Include Include/EfiGenericService.inc.tcl +Include EfiUtil/EfiInclude.tcl + +Include IP6/Include/Ip6.inc.tcl +Include IP6Config/Include/Ip6ConfigDefine.tcl +Include IP6Config/Include/Ip6Config.proc.tcl +Include IP6Config/Include/Ip6ConfigAssertionGuid.tcl +Include Include/GenericAssertionGuid.tcl + +################################################################### +# Function Declaration +################################################################### +Func Ip6Config->SetData { + UINT32 + UINTN + POINTER + POINTER +} + +Func Ip6Config->GetData { + UINT32 + POINTER + POINTER + POINTER +} + +Func Ip6Config->RegisterDataNotify { + UINT32 + UINTN + POINTER +} + +Func Ip6Config->UnregisterDataNotify { + UINT32 + UINTN + POINTER +} + + +################################################################### +# EFI_IP6_CONFIG_INTERFACE_INFO +################################################################### +Struct EFI_IP6_CONFIG_INTERFACE_INFO { + CHAR16 Name(32); + UINT8 IfType; + UINT32 HwAddressSize; + EFI_MAC_ADDRESS HwAddress; + UINT32 AddressInfoCount; + POINTER AddressInfo; + UINT32 RouteCount; + POINTER RouteTable; +} + +################################################################### +# EFI_IP6_CONFIG_INTERFACE_ID +################################################################### +Struct EFI_IP6_CONFIG_INTERFACE_ID { + UINT8 Id(8); +} + +################################################################### +# EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS +################################################################### +Struct EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS { + UINT32 DupAddrDetectTransmits; +} + +################################################################### +# EFI_IP6_CONFIG_MANUAL_ADDRESS +################################################################### +Struct EFI_IP6_CONFIG_MANUAL_ADDRESS { + EFI_IPv6_ADDRESS Address; + BOOLEAN IsAnycast; + UINT8 PrefixLength; +} + diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6Config.proc.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6Config.proc.tcl index de40066..f2a2dda 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6Config.proc.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6Config.proc.tcl @@ -1,16 +1,16 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -if {[info exist IP6CONFIG_PROC] == 1} { - return -} +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +if {[info exist IP6CONFIG_PROC] == 1} { + return +} set IP6CONFIG_PROC 1 \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6ConfigAssertionGuid.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6ConfigAssertionGuid.tcl index 9356240..da69bf9 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6ConfigAssertionGuid.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6ConfigAssertionGuid.tcl @@ -1,84 +1,96 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -# -# Guid for SetData() interface -# -set Ip6ConfigSetDataConf1AssertionGuid001 7A224CCE-B79B-472a-9B8C-A47E074D5EEF -set Ip6ConfigSetDataConf2AssertionGuid001 46F12872-61F2-46e4-A2F9-5F685B419479 -set Ip6ConfigSetDataConf2AssertionGuid002 1CAC93D3-732A-4e30-894D-EE63B6F486A0 -set Ip6ConfigSetDataConf2AssertionGuid003 D005EBF3-CFD6-498a-9005-C2B3702EB4FC -set Ip6ConfigSetDataConf2AssertionGuid004 389806D5-4506-4319-8D17-9B4FC9D97E25 -set Ip6ConfigSetDataConf2AssertionGuid005 5AEFDB0C-322F-49c3-9DD2-DFE21B66B308 -set Ip6ConfigSetDataConf2AssertionGuid006 D339988F-2595-4fb5-81AE-A94DC470B234 -set Ip6ConfigSetDataConf3AssertionGuid001 4319A43B-7641-47c0-84BB-985C479902A2 -set Ip6ConfigSetDataConf4AssertionGuid001 01F3B344-EB52-4086-B949-55D7E4DC5BDE -set Ip6ConfigSetDataConf4AssertionGuid002 F612AF26-2519-497c-B205-37A2914AEE05 -set Ip6ConfigSetDataConf4AssertionGuid003 592C1F3D-249E-4654-B4B1-600421624DD1 -set Ip6ConfigSetDataConf5AssertionGuid001 D70BEC29-8026-4e1b-BA8B-36A313B45859 -set Ip6ConfigSetDataConf5AssertionGuid002 FE793490-53F8-4991-8348-E624530E83E9 -set Ip6ConfigSetDataConf5AssertionGuid003 42CCB2EF-D706-4d1a-B247-F42BBA99F707 -set Ip6ConfigSetDataConf5AssertionGuid004 9168CB20-C891-42da-BB9F-7ADBE488B012 -set Ip6ConfigSetDataConf5AssertionGuid005 AD058D87-1015-4b2d-A351-5BD4B0930B7B -set Ip6ConfigSetDataConf5AssertionGuid006 388BE3F6-D63E-4cbf-A3D9-3D941823259B -set Ip6ConfigSetDataConf6AssertionGuid001 2886BAE1-383A-400f-8F88-66376B2A0FF5 -set Ip6ConfigSetDataConf7AssertionGuid001 D2C61F06-8822-4a09-89A1-7F0667FCAF0E -set Ip6ConfigSetDataFunc1AssertionGuid001 0A5902DA-4142-4494-AC66-2B731FFEA671 -set Ip6ConfigSetDataFunc1AssertionGuid002 D9A9EF5E-D819-49d0-BB12-25ADEC52DDB3 -set Ip6ConfigSetDataFunc1AssertionGuid003 14E96019-0815-4486-916C-E440E166628E -set Ip6ConfigSetDataFunc1AssertionGuid004 3458BBE0-0D7E-48ec-B380-2A885F44E104 - - -# -# Guid for GetData() interface -# -set Ip6ConfigGetDataConf1AssertionGuid001 D15E421D-6228-4fea-8D5A-330FFF3F80D2 -set Ip6ConfigGetDataConf2AssertionGuid001 38B36C04-12E9-4e96-B24F-C453851E6C1D -set Ip6ConfigGetDataConf3AssertionGuid001 D05A6C59-617F-4549-9659-4E0CFC3C3336 -set Ip6ConfigGetDataConf3AssertionGuid002 ED45C2FE-9EC1-4553-AFA4-771E9D4F7611 -set Ip6ConfigGetDataConf4AssertionGuid001 59118C46-2F2A-4029-ABD6-767418920369 -set Ip6ConfigGetDataConf5AssertionGuid001 55955D09-C806-4777-9FF0-95C00E79AC28 -set Ip6ConfigGetDataFunc1AssertionGuid001 FEAAC1A0-95BD-4dcb-91C3-9F08504BEFA1 -set Ip6ConfigGetDataFunc1AssertionGuid002 3649D729-D6D0-456e-84AE-C7E7B8464343 -set Ip6ConfigGetDataFunc1AssertionGuid003 165E79B4-C987-4100-8AA2-8AB115B07FAD -set Ip6ConfigGetDataFunc1AssertionGuid004 DB420311-17F7-40cf-A0B1-0294D5DCCC92 - -# -# Guid for RegisterDataNotify() interface -# -set Ip6ConfigRegisterDataNotifyConf1AssertionGuid001 7E3F6157-EC75-4ecd-A79B-4926F3AA1C0D -set Ip6ConfigRegisterDataNotifyConf2AssertionGuid001 70DC8C71-C54D-4446-8AD9-BAC086E43D17 -set Ip6ConfigRegisterDataNotifyConf3AssertionGuid001 2D88F18B-0BEF-4616-BDE5-CA4E0086E1D3 -set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid001 9A98DC85-D018-45aa-B851-34EE2F6716D4 -set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid002 39F7FB37-9F9F-485e-8DBC-0F3191DA9909 -set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid003 D13DA599-37E7-474a-9343-83C9EFE80893 -set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid004 5428BDD5-4332-4e3b-841F-3E60540AA35D -set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid005 1844A7C8-730C-4927-8E02-CE0A6CA08DCC -set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid006 B0E66591-9076-48e3-8DF6-2A1D59A572DB - - -# -# Guid for UnregisterDataNotify() interface -# -set Ip6ConfigUnregisterDataNotifyConf1AssertionGuid001 8AB0E5A2-A4E1-4282-87B5-E377C763AD2F -set Ip6ConfigUnregisterDataNotifyConf2AssertionGuid001 5C68228F-AAAE-4d0b-9927-7664476EF360 -set Ip6ConfigUnregisterDataNotifyConf2AssertionGuid002 55D8193E-F58E-4800-924B-73C902098DD8 -set Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid001 42EB4628-8DF6-4704-81E5-F7EAE6CBB270 -set Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid002 174CEC07-E573-434b-8E99-77F8AE9C55B5 -set Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid003 1F5EF1AF-8A19-48d6-831F-51BE00B32AA5 -set Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid004 388C8838-7790-4a1f-9DB7-5017D7AA60DB - - - - - - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# +# Guid for SetData() interface +# +set Ip6ConfigSetDataConf1AssertionGuid001 7A224CCE-B79B-472a-9B8C-A47E074D5EEF +set Ip6ConfigSetDataConf2AssertionGuid001 46F12872-61F2-46e4-A2F9-5F685B419479 +set Ip6ConfigSetDataConf2AssertionGuid002 1CAC93D3-732A-4e30-894D-EE63B6F486A0 +set Ip6ConfigSetDataConf2AssertionGuid003 D005EBF3-CFD6-498a-9005-C2B3702EB4FC +set Ip6ConfigSetDataConf2AssertionGuid004 389806D5-4506-4319-8D17-9B4FC9D97E25 +set Ip6ConfigSetDataConf2AssertionGuid005 5AEFDB0C-322F-49c3-9DD2-DFE21B66B308 +set Ip6ConfigSetDataConf2AssertionGuid006 D339988F-2595-4fb5-81AE-A94DC470B234 +set Ip6ConfigSetDataConf3AssertionGuid001 4319A43B-7641-47c0-84BB-985C479902A2 +set Ip6ConfigSetDataConf4AssertionGuid001 01F3B344-EB52-4086-B949-55D7E4DC5BDE +set Ip6ConfigSetDataConf4AssertionGuid002 F612AF26-2519-497c-B205-37A2914AEE05 +set Ip6ConfigSetDataConf4AssertionGuid003 592C1F3D-249E-4654-B4B1-600421624DD1 +set Ip6ConfigSetDataConf5AssertionGuid001 D70BEC29-8026-4e1b-BA8B-36A313B45859 +set Ip6ConfigSetDataConf5AssertionGuid002 FE793490-53F8-4991-8348-E624530E83E9 +set Ip6ConfigSetDataConf5AssertionGuid003 42CCB2EF-D706-4d1a-B247-F42BBA99F707 +set Ip6ConfigSetDataConf5AssertionGuid004 9168CB20-C891-42da-BB9F-7ADBE488B012 +set Ip6ConfigSetDataConf5AssertionGuid005 AD058D87-1015-4b2d-A351-5BD4B0930B7B +set Ip6ConfigSetDataConf5AssertionGuid006 388BE3F6-D63E-4cbf-A3D9-3D941823259B +set Ip6ConfigSetDataConf6AssertionGuid001 2886BAE1-383A-400f-8F88-66376B2A0FF5 +set Ip6ConfigSetDataConf7AssertionGuid001 D2C61F06-8822-4a09-89A1-7F0667FCAF0E +set Ip6ConfigSetDataFunc1AssertionGuid001 0A5902DA-4142-4494-AC66-2B731FFEA671 +set Ip6ConfigSetDataFunc1AssertionGuid002 D9A9EF5E-D819-49d0-BB12-25ADEC52DDB3 +set Ip6ConfigSetDataFunc1AssertionGuid003 14E96019-0815-4486-916C-E440E166628E +set Ip6ConfigSetDataFunc1AssertionGuid004 3458BBE0-0D7E-48ec-B380-2A885F44E104 + +set Ip6ConfigSetDataFunc2AssertionGuid001 B533A7CF-6C27-421A-A816-B075E7EA4573 +set Ip6ConfigSetDataFunc2AssertionGuid002 C816C0EE-52C0-400E-A9CC-25C263E27B04 +set Ip6ConfigSetDataFunc2AssertionGuid003 2CF2435A-C444-4E09-BC8A-56A6F33CED9C +set Ip6ConfigSetDataFunc2AssertionGuid004 3B673875-4CE8-4F23-8FE1-E440376604FD +set Ip6ConfigSetDataFunc2AssertionGuid005 05B7BF41-9CE9-481B-B9A4-2E83AD5E89E3 +set Ip6ConfigSetDataFunc2AssertionGuid006 4D49A668-A44D-4D69-9F20-40B7F147988E +set Ip6ConfigSetDataFunc2AssertionGuid007 23000969-DFDE-4B04-AD44-0844D595AA66 +set Ip6ConfigSetDataFunc2AssertionGuid008 E444B75C-B559-48C4-8D15-8F882AC7F81E +set Ip6ConfigSetDataFunc2AssertionGuid009 AC649D07-2063-4045-9DAE-29B4E38E46BB +set Ip6ConfigSetDataFunc2AssertionGuid010 4EDBB740-405F-4E6D-A4A5-D77122D16278 +set Ip6ConfigSetDataFunc2AssertionGuid011 D131A6D9-CCAB-4460-8402-80ED252FEB09 +set Ip6ConfigSetDataFunc2AssertionGuid012 A5D75088-D8D3-47DD-A623-F6098DF70546 + +# +# Guid for GetData() interface +# +set Ip6ConfigGetDataConf1AssertionGuid001 D15E421D-6228-4fea-8D5A-330FFF3F80D2 +set Ip6ConfigGetDataConf2AssertionGuid001 38B36C04-12E9-4e96-B24F-C453851E6C1D +set Ip6ConfigGetDataConf3AssertionGuid001 D05A6C59-617F-4549-9659-4E0CFC3C3336 +set Ip6ConfigGetDataConf3AssertionGuid002 ED45C2FE-9EC1-4553-AFA4-771E9D4F7611 +set Ip6ConfigGetDataConf4AssertionGuid001 59118C46-2F2A-4029-ABD6-767418920369 +set Ip6ConfigGetDataConf5AssertionGuid001 55955D09-C806-4777-9FF0-95C00E79AC28 +set Ip6ConfigGetDataFunc1AssertionGuid001 FEAAC1A0-95BD-4dcb-91C3-9F08504BEFA1 +set Ip6ConfigGetDataFunc1AssertionGuid002 3649D729-D6D0-456e-84AE-C7E7B8464343 +set Ip6ConfigGetDataFunc1AssertionGuid003 165E79B4-C987-4100-8AA2-8AB115B07FAD +set Ip6ConfigGetDataFunc1AssertionGuid004 DB420311-17F7-40cf-A0B1-0294D5DCCC92 + +# +# Guid for RegisterDataNotify() interface +# +set Ip6ConfigRegisterDataNotifyConf1AssertionGuid001 7E3F6157-EC75-4ecd-A79B-4926F3AA1C0D +set Ip6ConfigRegisterDataNotifyConf2AssertionGuid001 70DC8C71-C54D-4446-8AD9-BAC086E43D17 +set Ip6ConfigRegisterDataNotifyConf3AssertionGuid001 2D88F18B-0BEF-4616-BDE5-CA4E0086E1D3 +set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid001 9A98DC85-D018-45aa-B851-34EE2F6716D4 +set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid002 39F7FB37-9F9F-485e-8DBC-0F3191DA9909 +set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid003 D13DA599-37E7-474a-9343-83C9EFE80893 +set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid004 5428BDD5-4332-4e3b-841F-3E60540AA35D +set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid005 1844A7C8-730C-4927-8E02-CE0A6CA08DCC +set Ip6ConfigRegisterDataNotifyFunc1AssertionGuid006 B0E66591-9076-48e3-8DF6-2A1D59A572DB + + +# +# Guid for UnregisterDataNotify() interface +# +set Ip6ConfigUnregisterDataNotifyConf1AssertionGuid001 8AB0E5A2-A4E1-4282-87B5-E377C763AD2F +set Ip6ConfigUnregisterDataNotifyConf2AssertionGuid001 5C68228F-AAAE-4d0b-9927-7664476EF360 +set Ip6ConfigUnregisterDataNotifyConf2AssertionGuid002 55D8193E-F58E-4800-924B-73C902098DD8 +set Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid001 42EB4628-8DF6-4704-81E5-F7EAE6CBB270 +set Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid002 174CEC07-E573-434b-8E99-77F8AE9C55B5 +set Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid003 1F5EF1AF-8A19-48d6-831F-51BE00B32AA5 +set Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid004 388C8838-7790-4a1f-9DB7-5017D7AA60DB + + + + + + diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6ConfigDefine.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6ConfigDefine.tcl index 0d78321..1fcd579 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6ConfigDefine.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/Include/Ip6ConfigDefine.tcl @@ -1,51 +1,51 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -if {[info exist IP6CONFIG_DEFINE] == 1} { - return -} -set IP6CONFIG_DEFINE 1 - -# -# EUT/ENTS Connection Definition -# -#set DEF_EUT_IP_ADDR "2002:0000:0000:0000:0000:0000:0000:0001" -#set DEF_EUT_MAC_ADDR [GetTargetMac] -#set DEF_EUT_PRT 0 - -#set DEF_ENTS_IP_ADDR "2002:0000:0000:0000:0000:0000:0000:4321" -#set DEF_ENTS_MAC_ADDR [GetHostMac] -#set DEF_ENTS_PRT 8888 - -# -# EFI_IP6_CONFIG_DATA_TYPE -# -set IP6CDT(InterfaceInfo) 0 -set IP6CDT(AltInterfaceId) 1 -set IP6CDT(Policy) 2 -set IP6CDT(DupAddrDetectTransmits) 3 -set IP6CDT(ManualAddress) 4 -set IP6CDT(Gateway) 5 -set IP6CDT(DnsServer) 6 -set IP6CDT(Maximum) 7 - -# -# EFI_IP6_CONFIG_POLICY -# -set IP6CP(Manual) 0 -set IP6CP(Automatic) 1 - -# -# Timers -# -set i 0 -set L_TimeOut 30 +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +if {[info exist IP6CONFIG_DEFINE] == 1} { + return +} +set IP6CONFIG_DEFINE 1 + +# +# EUT/ENTS Connection Definition +# +#set DEF_EUT_IP_ADDR "2002:0000:0000:0000:0000:0000:0000:0001" +#set DEF_EUT_MAC_ADDR [GetTargetMac] +#set DEF_EUT_PRT 0 + +#set DEF_ENTS_IP_ADDR "2002:0000:0000:0000:0000:0000:0000:4321" +#set DEF_ENTS_MAC_ADDR [GetHostMac] +#set DEF_ENTS_PRT 8888 + +# +# EFI_IP6_CONFIG_DATA_TYPE +# +set IP6CDT(InterfaceInfo) 0 +set IP6CDT(AltInterfaceId) 1 +set IP6CDT(Policy) 2 +set IP6CDT(DupAddrDetectTransmits) 3 +set IP6CDT(ManualAddress) 4 +set IP6CDT(Gateway) 5 +set IP6CDT(DnsServer) 6 +set IP6CDT(Maximum) 7 + +# +# EFI_IP6_CONFIG_POLICY +# +set IP6CP(Manual) 0 +set IP6CP(Automatic) 1 + +# +# Timers +# +set i 0 +set L_TimeOut 30 diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf1.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf1.Case1.tcl index f8a97a1..aa60cb8 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf1.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf1.Case1.tcl @@ -1,90 +1,90 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid F76B637C-BA5F-4451-8DF4-A13E1CCAB3A0 -CaseName RegisterDataNotify.Conf1.Case1 -CaseCategory IP6Config -CaseDescription {RegisterDataNotify must not succeed when event is NULL.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_REGISTERDATANOTIFY_CONF1 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Check Point: Call Ip6Config->RegisterDataNotify with event NULL -# -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType, 0 ,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] -RecordAssertion $assert $Ip6ConfigRegisterDataNotifyConf1AssertionGuid001 \ - "Ip6Config.RegisterDataNotify - Register notification event with the event NULL." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" - -# -# Clean up -# -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_REGISTERDATANOTIFY_CONF1 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid F76B637C-BA5F-4451-8DF4-A13E1CCAB3A0 +CaseName RegisterDataNotify.Conf1.Case1 +CaseCategory IP6Config +CaseDescription {RegisterDataNotify must not succeed when event is NULL.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_REGISTERDATANOTIFY_CONF1 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Check Point: Call Ip6Config->RegisterDataNotify with event NULL +# +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType, 0 ,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] +RecordAssertion $assert $Ip6ConfigRegisterDataNotifyConf1AssertionGuid001 \ + "Ip6Config.RegisterDataNotify - Register notification event with the event NULL." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" + +# +# Clean up +# +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_REGISTERDATANOTIFY_CONF1 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf2.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf2.Case1.tcl index 3e72249..38b7431 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf2.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf2.Case1.tcl @@ -1,90 +1,90 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid E5221141-97BC-4e5f-9ABA-304BB11EADA0 -CaseName RegisterDataNotify.Conf2.Case1 -CaseCategory IP6Config -CaseDescription {RegisterDataNotify must not succeed when data type is not supported.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_REGISTERDATANOTIFY_CONF2 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -UINTN R_Ip6ConfigDataTypeMaximum -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Maximum) -SetVar R_Ip6ConfigDataSize [Sizeof UINTN] - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Check Point: Call Ip6Config->RegisterDataNotify with the datatype not supported -# -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_UNSUPPORTED] -RecordAssertion $assert $Ip6ConfigRegisterDataNotifyConf2AssertionGuid001 \ - "Ip6Config.RegisterDataNotify - Register notification event with the data type not supported." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_UNSUPPORTED" - -# -# Clean up -# -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_REGISTERDATANOTIFY_CONF2 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid E5221141-97BC-4e5f-9ABA-304BB11EADA0 +CaseName RegisterDataNotify.Conf2.Case1 +CaseCategory IP6Config +CaseDescription {RegisterDataNotify must not succeed when data type is not supported.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_REGISTERDATANOTIFY_CONF2 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +UINTN R_Ip6ConfigDataTypeMaximum +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Maximum) +SetVar R_Ip6ConfigDataSize [Sizeof UINTN] + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Check Point: Call Ip6Config->RegisterDataNotify with the datatype not supported +# +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_UNSUPPORTED] +RecordAssertion $assert $Ip6ConfigRegisterDataNotifyConf2AssertionGuid001 \ + "Ip6Config.RegisterDataNotify - Register notification event with the data type not supported." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_UNSUPPORTED" + +# +# Clean up +# +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_REGISTERDATANOTIFY_CONF2 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf3.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf3.Case1.tcl index 8c8363c..77d9ef5 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf3.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Conf3.Case1.tcl @@ -1,109 +1,109 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid B00EBD2E-F23E-434e-80E8-2A17C3BCFDFE -CaseName RegisterDataNotify.Conf3.Case1 -CaseCategory IP6Config -CaseDescription {RegisterDataNotify must not succeed when event has already registered.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_REGISTERDATANOTIFY_CONF3 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Check Point: Call Ip6Config->RegisterDataNotify with valid parameters -# -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event with valid parameters." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Check Point : Call RegisterDataNotify() with the same event (has been registered) -# -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_ACCESS_DENIED] -RecordAssertion $assert $Ip6ConfigRegisterDataNotifyConf3AssertionGuid001 \ - "Ip6Config.RegisterDataNotify - Register notification event with the event registered already." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_ACCESS_DENIED" - - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_REGISTERDATANOTIFY_CONF3 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid B00EBD2E-F23E-434e-80E8-2A17C3BCFDFE +CaseName RegisterDataNotify.Conf3.Case1 +CaseCategory IP6Config +CaseDescription {RegisterDataNotify must not succeed when event has already registered.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_REGISTERDATANOTIFY_CONF3 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Check Point: Call Ip6Config->RegisterDataNotify with valid parameters +# +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event with valid parameters." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Check Point : Call RegisterDataNotify() with the same event (has been registered) +# +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_ACCESS_DENIED] +RecordAssertion $assert $Ip6ConfigRegisterDataNotifyConf3AssertionGuid001 \ + "Ip6Config.RegisterDataNotify - Register notification event with the event registered already." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_ACCESS_DENIED" + + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_REGISTERDATANOTIFY_CONF3 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Func1.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Func1.Case1.tcl index 38be04c..b2b777c 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Func1.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Func1.Case1.tcl @@ -1,539 +1,539 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel FUNCTION -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 7D041B9B-4F68-434a-A0C6-63FDC415D078 -CaseName RegisterDataNotify.Func1.Case1 -CaseCategory IP6Config -CaseDescription {RegisterDataNotify must succeed with valid parameters when one event registered on one data type.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Context1 -UINTN R_DoneEvent1 -UINTN R_Context2 -UINTN R_DoneEvent2 -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get policy value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." - -# -# Check Point: Call Ip6Config->SetData to set DadXmits 0 -# -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] -SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 0 - -SetVar R_Context1 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ - &@R_DoneEvent1, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set DadXmits 0." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context1 - if { $R_Context1 == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set DadXmits 0." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get DadXmits value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits -if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 0 } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Set DadXmits succeeds(event is signaled correctly and data correct)." - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set DadXmits succeeds(event is signaled correctly and data correct)." - -# -# Check Point : Set Manual Address with valid parameter -# -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress - -set L_ManualListLen 1 -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress -set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize $L_ListLen -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" -SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress -# -# Register Event for Manual Address -# -SetVar R_Context2 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context2,\ - &@R_DoneEvent2, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid001 \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual address." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context2 - if { $R_Context2 == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent2,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual address." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent2,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - EndLog - return -} - -# -# Check Events for registered datatype -# -GetVar R_Context2 -if { $R_Context2 == 1 } { - set assert pass -} else { - set assert fail -} -RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid002 \ - "Ip6Config.RegisterDataNotify - Registered event is signaled." - -# -# GetData to verfiy the data setting -# -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get manual address." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -GetVar R_Ip6ConfigManualAddress.IsAnycast -if { ${R_Ip6ConfigManualAddress.IsAnycast} == FALSE } { - set assert pass -} else { - set assert fail -} -GetVar R_Ip6ConfigManualAddress.PrefixLength -if { ${R_Ip6ConfigManualAddress.PrefixLength} == 64 } { - set assert pass -} else { - set assert fail -} -GetVar R_Ip6ConfigManualAddress.Address -set L_ManualAddress "2002:0000:0000:0000:0000:0000:0000:5000" -set L_RemoteAddress [ GetIpv6Address {R_Ip6ConfigManualAddress.Address} ] -if { [ string compare $L_RemoteAddress $L_ManualAddress ] == 0 } { - set assert pass -} else { - set assert fail -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set ManualAddress succeeds(event is signaled correctly and data correct)." - -# -# Set automatic policy (this will clean up all address information configured) -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Automatic) - -SetVar R_Context 0 - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - set assert pass - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent2,&@R_Status} - GetAck - - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent2,&@R_Status} - GetAck - - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Automatic) } { - set assert pass -} else { - set assert fail -} - -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent1,&@R_Status} -GetAck - -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent2,&@R_Status} -GetAck - -EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel FUNCTION +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 7D041B9B-4F68-434a-A0C6-63FDC415D078 +CaseName RegisterDataNotify.Func1.Case1 +CaseCategory IP6Config +CaseDescription {RegisterDataNotify must succeed with valid parameters when one event registered on one data type.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Context1 +UINTN R_DoneEvent1 +UINTN R_Context2 +UINTN R_DoneEvent2 +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get policy value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + +# +# Check Point: Call Ip6Config->SetData to set DadXmits 0 +# +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 0 + +SetVar R_Context1 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ + &@R_DoneEvent1, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits 0." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context1 + if { $R_Context1 == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits 0." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get DadXmits value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits +if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 0 } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set DadXmits succeeds(event is signaled correctly and data correct)." + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set DadXmits succeeds(event is signaled correctly and data correct)." + +# +# Check Point : Set Manual Address with valid parameter +# +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress + +set L_ManualListLen 1 +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize $L_ListLen +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" +SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress +# +# Register Event for Manual Address +# +SetVar R_Context2 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context2,\ + &@R_DoneEvent2, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid001 \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context2 + if { $R_Context2 == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent2,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent2,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog + return +} + +# +# Check Events for registered datatype +# +GetVar R_Context2 +if { $R_Context2 == 1 } { + set assert pass +} else { + set assert fail +} +RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid002 \ + "Ip6Config.RegisterDataNotify - Registered event is signaled." + +# +# GetData to verfiy the data setting +# +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get manual address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +GetVar R_Ip6ConfigManualAddress.IsAnycast +if { ${R_Ip6ConfigManualAddress.IsAnycast} == FALSE } { + set assert pass +} else { + set assert fail +} +GetVar R_Ip6ConfigManualAddress.PrefixLength +if { ${R_Ip6ConfigManualAddress.PrefixLength} == 64 } { + set assert pass +} else { + set assert fail +} +GetVar R_Ip6ConfigManualAddress.Address +set L_ManualAddress "2002:0000:0000:0000:0000:0000:0000:5000" +set L_RemoteAddress [ GetIpv6Address {R_Ip6ConfigManualAddress.Address} ] +if { [ string compare $L_RemoteAddress $L_ManualAddress ] == 0 } { + set assert pass +} else { + set assert fail +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set ManualAddress succeeds(event is signaled correctly and data correct)." + +# +# Set automatic policy (this will clean up all address information configured) +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Automatic) + +SetVar R_Context 0 + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + set assert pass + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent2,&@R_Status} + GetAck + + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent2,&@R_Status} + GetAck + + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Automatic) } { + set assert pass +} else { + set assert fail +} + +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent1,&@R_Status} +GetAck + +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent2,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent2,&@R_Status} +GetAck + +EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE1 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Func1.Case2.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Func1.Case2.tcl index bd52067..6f7e51f 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Func1.Case2.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/RegisterDataNotify.Func1.Case2.tcl @@ -1,266 +1,266 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel FUNCTION -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 886AE98A-5D43-47b4-A339-85FB089F21FA -CaseName RegisterDataNotify.Func1.Case2 -CaseCategory IP6Config -CaseDescription {RegisterDataNotify must succeed with valid parameters when one event registered on two data types.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Create Event and register it with data type [Policy] and [DadXmits] -# -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid003 \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] -SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid004 \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Check Point: Call Ip6Cofnig->SetData to set [Policy] and check whether the event is signaled. -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -GetVar R_Context -set L_Context1 $R_Context -set L_Context2 [expr { $L_Context1 + 1 }] - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status - -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == $L_Context2 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 - EndLog - return -} - -GetVar R_Context -if { $R_Context == $L_Context2 } { - set assert pass -} else { - set assert fail -} - -RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid005 \ - "Ip6Config.RegisterDataNotify - Event is signaled for DataType - Policy." - -# -# Check Point: Call Ip6Config->SetData to set [DadXmits] and check whether the event is signaled. -# -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] -SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 - -GetVar R_Context -set L_Context1 $R_Context -set L_Context2 [expr { $L_Context1 + 1 }] - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -GetVar R_Status - -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set DadXmits." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == $L_Context2 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set DadXmits." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 - EndLog - return -} - -GetVar R_Context -if { $R_Context == $L_Context2 } { - set assert pass -} else { - set assert fail -} -RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid006 \ - "Ip6Config.RegisterDataNotify - Event is signaled for DataType - DadXmits." - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel FUNCTION +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 886AE98A-5D43-47b4-A339-85FB089F21FA +CaseName RegisterDataNotify.Func1.Case2 +CaseCategory IP6Config +CaseDescription {RegisterDataNotify must succeed with valid parameters when one event registered on two data types.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Create Event and register it with data type [Policy] and [DadXmits] +# +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid003 \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid004 \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Check Point: Call Ip6Cofnig->SetData to set [Policy] and check whether the event is signaled. +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +GetVar R_Context +set L_Context1 $R_Context +set L_Context2 [expr { $L_Context1 + 1 }] + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status + +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == $L_Context2 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 + EndLog + return +} + +GetVar R_Context +if { $R_Context == $L_Context2 } { + set assert pass +} else { + set assert fail +} + +RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid005 \ + "Ip6Config.RegisterDataNotify - Event is signaled for DataType - Policy." + +# +# Check Point: Call Ip6Config->SetData to set [DadXmits] and check whether the event is signaled. +# +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 + +GetVar R_Context +set L_Context1 $R_Context +set L_Context2 [expr { $L_Context1 + 1 }] + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +GetVar R_Status + +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == $L_Context2 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 + EndLog + return +} + +GetVar R_Context +if { $R_Context == $L_Context2 } { + set assert pass +} else { + set assert fail +} +RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid006 \ + "Ip6Config.RegisterDataNotify - Event is signaled for DataType - DadXmits." + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_REGISTERDATANOTIFY_FUNC1_CASE2 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf1.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf1.Case1.tcl index 2213ec9..8c33521 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf1.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf1.Case1.tcl @@ -1,72 +1,72 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid EF4CCB73-577C-4b8c-96E3-91517F0B7056 -CaseName SetData.Conf1.Case1 -CaseCategory IP6Config -CaseDescription {SetData must not succeed when data is NULL.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_SETDATA_CONF1 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress - -# -# Check Point: Call Ip6Config->SetData with data is NULL. -# -SetVar R_Ip6ConfigDataType $IP6CDT(InterfaceInfo) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_INFO] - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,NULL,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] -RecordAssertion $assert $Ip6ConfigSetDataConf1AssertionGuid001 \ - "Ip6Config.SetData - Call SetData with Data NULL." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" - -EndScope _IP6CONFIG_SETDATA_CONF1 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid EF4CCB73-577C-4b8c-96E3-91517F0B7056 +CaseName SetData.Conf1.Case1 +CaseCategory IP6Config +CaseDescription {SetData must not succeed when data is NULL.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_SETDATA_CONF1 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress + +# +# Check Point: Call Ip6Config->SetData with data is NULL. +# +SetVar R_Ip6ConfigDataType $IP6CDT(InterfaceInfo) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_INFO] + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,NULL,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] +RecordAssertion $assert $Ip6ConfigSetDataConf1AssertionGuid001 \ + "Ip6Config.SetData - Call SetData with Data NULL." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" + +EndScope _IP6CONFIG_SETDATA_CONF1 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf2.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf2.Case1.tcl index f14a5bb..bbf7830 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf2.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf2.Case1.tcl @@ -1,299 +1,299 @@ -# -# Copyright 2006 - 2017 Unified EFI, Inc.
-# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid A9BBCC37-3ED5-4c11-B6B6-BE52A1131568 -CaseName SetData.Conf2.Case1 -CaseCategory IP6Config -CaseDescription {SetData must not succeed when one or more fields in data is invalid.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_SETDATA_CONF2 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF2 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF2 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get policy value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF2 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." - -# -# Check Point : Set Manual Address with "::" -# -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress - -set L_ManualListLen 1 -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress -set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize $L_ListLen -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "::" -SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] -RecordAssertion $assert $Ip6ConfigSetDataConf2AssertionGuid001 \ - "Ip6Config.SetData - Call SetData to set manual address (Not Unicast or Linklocal)." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" - -DelVar R_Ip6ConfigManualAddress - -# -# Check Point : Set Manual Address with duplication of list entries -# -set L_ManualListLen 3 -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress($L_ManualListLen) -set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize $L_ListLen - -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" -SetVar R_Ip6ConfigManualAddress(0) @R_Temp_Ip6ConfigManualAddress - -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5001" -SetVar R_Ip6ConfigManualAddress(1) @R_Temp_Ip6ConfigManualAddress - -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" -SetVar R_Ip6ConfigManualAddress(2) @R_Temp_Ip6ConfigManualAddress - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] -RecordAssertion $assert $Ip6ConfigSetDataConf2AssertionGuid002 \ - "Ip6Config.SetData - Call SetData to set manual address (duplication of list entries)." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" - -DelVar R_Ip6ConfigManualAddress - -# -# Check Points : Set Gateway with "ff02::1" (multicast address) -# -set L_GatewayListLen 1 -EFI_IPv6_ADDRESS R_Temp_Ip6ConfigGateway -EFI_IPv6_ADDRESS R_Ip6ConfigGateway -set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_GatewayListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) -SetVar R_Ip6ConfigDataSize $L_ListLen - -SetIpv6Address R_Temp_Ip6ConfigGateway "ff02::1" -SetVar R_Ip6ConfigGateway @R_Temp_Ip6ConfigGateway -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] -RecordAssertion $assert $Ip6ConfigSetDataConf2AssertionGuid003 \ - "Ip6Config.SetData - Call SetData to set gateway with multicast address." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" - -DelVar R_Ip6ConfigGateway - -# -# Check Point : Set Gateway with duplication of list entries -# -set L_GatewayListLen 3 -EFI_IPv6_ADDRESS R_Ip6ConfigGateway($L_GatewayListLen) -set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_GatewayListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) -SetVar R_Ip6ConfigDataSize $L_ListLen - -SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5000" -SetVar R_Ip6ConfigGateway(0) @R_Temp_Ip6ConfigGateway -SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5001" -SetVar R_Ip6ConfigGateway(1) @R_Temp_Ip6ConfigGateway -SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5000" -SetVar R_Ip6ConfigGateway(2) @R_Temp_Ip6ConfigGateway - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] -RecordAssertion $assert $Ip6ConfigSetDataConf2AssertionGuid004 \ - "Ip6Config.SetData - Call SetData to set gateway with duplication of list entries." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" - -DelVar R_Ip6ConfigGateway - -# -# Check Point : Set Dns Server with "ff02::1" (link local address) -# -set L_DnsServerListLen 1 -EFI_IPv6_ADDRESS R_Temp_Ip6ConfigDnsServer -EFI_IPv6_ADDRESS R_Ip6ConfigDnsServer -set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_DnsServerListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) -SetVar R_Ip6ConfigDataSize $L_ListLen - -SetIpv6Address R_Temp_Ip6ConfigDnsServer "ff02::1" -SetVar R_Ip6ConfigDnsServer @R_Temp_Ip6ConfigDnsServer - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDnsServer,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] -RecordAssertion $assert $Ip6ConfigSetDataConf2AssertionGuid005 \ - "Ip6Config.SetData - Call SetData to set dns server with multicast address." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" - -DelVar R_Ip6ConfigDnsServer - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_SETDATA_CONF2 - +# +# Copyright 2006 - 2017 Unified EFI, Inc.
+# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid A9BBCC37-3ED5-4c11-B6B6-BE52A1131568 +CaseName SetData.Conf2.Case1 +CaseCategory IP6Config +CaseDescription {SetData must not succeed when one or more fields in data is invalid.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_SETDATA_CONF2 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF2 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get policy value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF2 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + +# +# Check Point : Set Manual Address with "::" +# +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress + +set L_ManualListLen 1 +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize $L_ListLen +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "::" +SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] +RecordAssertion $assert $Ip6ConfigSetDataConf2AssertionGuid001 \ + "Ip6Config.SetData - Call SetData to set manual address (Not Unicast or Linklocal)." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" + +DelVar R_Ip6ConfigManualAddress + +# +# Check Point : Set Manual Address with duplication of list entries +# +set L_ManualListLen 3 +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress($L_ManualListLen) +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize $L_ListLen + +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" +SetVar R_Ip6ConfigManualAddress(0) @R_Temp_Ip6ConfigManualAddress + +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5001" +SetVar R_Ip6ConfigManualAddress(1) @R_Temp_Ip6ConfigManualAddress + +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" +SetVar R_Ip6ConfigManualAddress(2) @R_Temp_Ip6ConfigManualAddress + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] +RecordAssertion $assert $Ip6ConfigSetDataConf2AssertionGuid002 \ + "Ip6Config.SetData - Call SetData to set manual address (duplication of list entries)." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" + +DelVar R_Ip6ConfigManualAddress + +# +# Check Points : Set Gateway with "ff02::1" (multicast address) +# +set L_GatewayListLen 1 +EFI_IPv6_ADDRESS R_Temp_Ip6ConfigGateway +EFI_IPv6_ADDRESS R_Ip6ConfigGateway +set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_GatewayListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) +SetVar R_Ip6ConfigDataSize $L_ListLen + +SetIpv6Address R_Temp_Ip6ConfigGateway "ff02::1" +SetVar R_Ip6ConfigGateway @R_Temp_Ip6ConfigGateway +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] +RecordAssertion $assert $Ip6ConfigSetDataConf2AssertionGuid003 \ + "Ip6Config.SetData - Call SetData to set gateway with multicast address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" + +DelVar R_Ip6ConfigGateway + +# +# Check Point : Set Gateway with duplication of list entries +# +set L_GatewayListLen 3 +EFI_IPv6_ADDRESS R_Ip6ConfigGateway($L_GatewayListLen) +set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_GatewayListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) +SetVar R_Ip6ConfigDataSize $L_ListLen + +SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5000" +SetVar R_Ip6ConfigGateway(0) @R_Temp_Ip6ConfigGateway +SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5001" +SetVar R_Ip6ConfigGateway(1) @R_Temp_Ip6ConfigGateway +SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5000" +SetVar R_Ip6ConfigGateway(2) @R_Temp_Ip6ConfigGateway + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] +RecordAssertion $assert $Ip6ConfigSetDataConf2AssertionGuid004 \ + "Ip6Config.SetData - Call SetData to set gateway with duplication of list entries." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" + +DelVar R_Ip6ConfigGateway + +# +# Check Point : Set Dns Server with "ff02::1" (link local address) +# +set L_DnsServerListLen 1 +EFI_IPv6_ADDRESS R_Temp_Ip6ConfigDnsServer +EFI_IPv6_ADDRESS R_Ip6ConfigDnsServer +set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_DnsServerListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) +SetVar R_Ip6ConfigDataSize $L_ListLen + +SetIpv6Address R_Temp_Ip6ConfigDnsServer "ff02::1" +SetVar R_Ip6ConfigDnsServer @R_Temp_Ip6ConfigDnsServer + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDnsServer,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] +RecordAssertion $assert $Ip6ConfigSetDataConf2AssertionGuid005 \ + "Ip6Config.SetData - Call SetData to set dns server with multicast address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" + +DelVar R_Ip6ConfigDnsServer + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_SETDATA_CONF2 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf3.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf3.Case1.tcl index 84a13c6..1cfc489 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf3.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf3.Case1.tcl @@ -1,72 +1,72 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 2FCE7A2D-09F4-4c8e-97CD-68A0045E34B8 -CaseName SetData.Conf3.Case1 -CaseCategory IP6Config -CaseDescription {SetData must not succeed when data is read-only type.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_SETDATA_CONF3 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress - -# -# Check Point: Call Ip6Config->SetData with data is read only. -# -SetVar R_Ip6ConfigDataType $IP6CDT(InterfaceInfo) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_INFO] - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceInfo,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_WRITE_PROTECTED] -RecordAssertion $assert $Ip6ConfigSetDataConf3AssertionGuid001 \ - "Ip6Config.SetData - Call SetData with data is read only." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_WRITE_PROTECTED" - -EndScope _IP6CONFIG_SETDATA_CONF3 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 2FCE7A2D-09F4-4c8e-97CD-68A0045E34B8 +CaseName SetData.Conf3.Case1 +CaseCategory IP6Config +CaseDescription {SetData must not succeed when data is read-only type.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_SETDATA_CONF3 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress + +# +# Check Point: Call Ip6Config->SetData with data is read only. +# +SetVar R_Ip6ConfigDataType $IP6CDT(InterfaceInfo) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_INFO] + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceInfo,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_WRITE_PROTECTED] +RecordAssertion $assert $Ip6ConfigSetDataConf3AssertionGuid001 \ + "Ip6Config.SetData - Call SetData with data is read only." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_WRITE_PROTECTED" + +EndScope _IP6CONFIG_SETDATA_CONF3 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf4.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf4.Case1.tcl index 04235cc..597fdac 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf4.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf4.Case1.tcl @@ -1,238 +1,238 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid D0A2D271-0BBF-4092-A61E-96FB23208DE0 -CaseName SetData.Conf4.Case1 -CaseCategory IP6Config -CaseDescription {SetData must not succeed when data is not configurable in current policy.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_SETDATA_CONF4 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Automatic) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF4 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF4 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get policy value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Automatic) } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Set automatic policy succeeds(event is signaled correctly and data correct)." - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF4 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set automatic policy succeeds(event is signaled correctly and data correct)." - -# -# Check Point : Set Manual Address under automatic policy -# -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress - -set L_ManualListLen 1 -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress -set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize $L_ListLen -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" -SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_WRITE_PROTECTED] -RecordAssertion $assert $Ip6ConfigSetDataConf4AssertionGuid001 \ - "Ip6Config.SetData - Call SetData to set manual address under automatic poilcy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_WRITE_PROTECTED" - -DelVar R_Ip6ConfigManualAddress - -# -# Check Points : Set Gateway under automatic policy -# -set L_GatewayListLen 1 -EFI_IPv6_ADDRESS R_Temp_Ip6ConfigGateway -EFI_IPv6_ADDRESS R_Ip6ConfigGateway -set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_GatewayListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) -SetVar R_Ip6ConfigDataSize $L_ListLen - -SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5001" -SetVar R_Ip6ConfigGateway @R_Temp_Ip6ConfigGateway -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_WRITE_PROTECTED] -RecordAssertion $assert $Ip6ConfigSetDataConf4AssertionGuid002 \ - "Ip6Config.SetData - Call SetData to set gateway under automatic policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_WRITE_PROTECTED" - -DelVar R_Ip6ConfigGateway - -# -# Check Point : Set Dns Server under automatic policy -# -set L_DnsServerListLen 1 -EFI_IPv6_ADDRESS R_Temp_Ip6ConfigDnsServer -EFI_IPv6_ADDRESS R_Ip6ConfigDnsServer -set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_DnsServerListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) -SetVar R_Ip6ConfigDataSize $L_ListLen - -SetIpv6Address R_Temp_Ip6ConfigDnsServer "2002::5001" -SetVar R_Ip6ConfigDnsServer @R_Temp_Ip6ConfigDnsServer - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDnsServer,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_WRITE_PROTECTED] -RecordAssertion $assert $Ip6ConfigSetDataConf4AssertionGuid003 \ - "Ip6Config.SetData - Call SetData to set dns server under automatic policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_WRITE_PROTECTED" - -DelVar R_Ip6ConfigDnsServer - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_SETDATA_CONF4 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid D0A2D271-0BBF-4092-A61E-96FB23208DE0 +CaseName SetData.Conf4.Case1 +CaseCategory IP6Config +CaseDescription {SetData must not succeed when data is not configurable in current policy.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_SETDATA_CONF4 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Automatic) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF4 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF4 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get policy value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Automatic) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set automatic policy succeeds(event is signaled correctly and data correct)." + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF4 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set automatic policy succeeds(event is signaled correctly and data correct)." + +# +# Check Point : Set Manual Address under automatic policy +# +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress + +set L_ManualListLen 1 +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize $L_ListLen +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" +SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_WRITE_PROTECTED] +RecordAssertion $assert $Ip6ConfigSetDataConf4AssertionGuid001 \ + "Ip6Config.SetData - Call SetData to set manual address under automatic poilcy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_WRITE_PROTECTED" + +DelVar R_Ip6ConfigManualAddress + +# +# Check Points : Set Gateway under automatic policy +# +set L_GatewayListLen 1 +EFI_IPv6_ADDRESS R_Temp_Ip6ConfigGateway +EFI_IPv6_ADDRESS R_Ip6ConfigGateway +set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_GatewayListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) +SetVar R_Ip6ConfigDataSize $L_ListLen + +SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5001" +SetVar R_Ip6ConfigGateway @R_Temp_Ip6ConfigGateway +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_WRITE_PROTECTED] +RecordAssertion $assert $Ip6ConfigSetDataConf4AssertionGuid002 \ + "Ip6Config.SetData - Call SetData to set gateway under automatic policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_WRITE_PROTECTED" + +DelVar R_Ip6ConfigGateway + +# +# Check Point : Set Dns Server under automatic policy +# +set L_DnsServerListLen 1 +EFI_IPv6_ADDRESS R_Temp_Ip6ConfigDnsServer +EFI_IPv6_ADDRESS R_Ip6ConfigDnsServer +set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_DnsServerListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) +SetVar R_Ip6ConfigDataSize $L_ListLen + +SetIpv6Address R_Temp_Ip6ConfigDnsServer "2002::5001" +SetVar R_Ip6ConfigDnsServer @R_Temp_Ip6ConfigDnsServer + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDnsServer,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_WRITE_PROTECTED] +RecordAssertion $assert $Ip6ConfigSetDataConf4AssertionGuid003 \ + "Ip6Config.SetData - Call SetData to set dns server under automatic policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_WRITE_PROTECTED" + +DelVar R_Ip6ConfigDnsServer + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_SETDATA_CONF4 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf5.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf5.Case1.tcl index 9b7e9c1..5e5a3e1 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf5.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf5.Case1.tcl @@ -1,279 +1,279 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 1F1728C3-BB62-4f28-9D75-6E631F7A6833 -CaseName SetData.Conf5.Case1 -CaseCategory IP6Config -CaseDescription {SetData must not succeed when data size does not match the data type.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_SETDATA_CONF5 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF5 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF5 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get policy value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF5 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." - -# -# Check Point : Set Manual Address with wrong data size -# -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress - -set L_ManualListLen 1 -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress -set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize 16 -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" -SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] -RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid001 \ - "Ip6Config.SetData - Call SetData to set manual address with wrong data size." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" -DelVar R_Ip6ConfigManualAddress - -# -# Check Points : Set Gateway with wrong data size -# -set L_GatewayListLen 1 -EFI_IPv6_ADDRESS R_Temp_Ip6ConfigGateway -EFI_IPv6_ADDRESS R_Ip6ConfigGateway -set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_GatewayListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) -SetVar R_Ip6ConfigDataSize 8 - -SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5001" -SetVar R_Ip6ConfigGateway @R_Temp_Ip6ConfigGateway -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] -RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid002 \ - "Ip6Config.SetData - Call SetData to set gateway with wrong data size." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" - -DelVar R_Ip6ConfigGateway - -# -# Check Point : Set Dns Server with wrong data size -# -set L_DnsServerListLen 1 -EFI_IPv6_ADDRESS R_Temp_Ip6ConfigDnsServer -EFI_IPv6_ADDRESS R_Ip6ConfigDnsServer -set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_DnsServerListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) -SetVar R_Ip6ConfigDataSize 8 - -SetIpv6Address R_Temp_Ip6ConfigDnsServer "2002::5002" -SetVar R_Ip6ConfigDnsServer @R_Temp_Ip6ConfigDnsServer - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDnsServer,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] -RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid003 \ - "Ip6Config.SetData - Call SetData to set dns server with wrong data size." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" - -DelVar R_Ip6ConfigDnsServer - -# -# Check Point : Set Altlfld with wrong data size -# -SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) -SetVar R_Ip6ConfigDataSize 1 - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceId,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] -RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid004 \ - "Ip6Config.SetData - Call SetData to set Altlfld with wrong data size." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" - -# -# Check Point : Set DadXmits with wrong data size -# -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -SetVar R_Ip6ConfigDataSize 1 -SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] -RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid005 \ - "Ip6Config.SetData - Call SetData to set DadXmits with wrong data size." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" - -# -# Check Point : Set Policy with wrong data size -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize 1 -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] -RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid006 \ - "Ip6Config.SetData - Call SetData to set Policy with wrong data size." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_SETDATA_CONF5 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 1F1728C3-BB62-4f28-9D75-6E631F7A6833 +CaseName SetData.Conf5.Case1 +CaseCategory IP6Config +CaseDescription {SetData must not succeed when data size does not match the data type.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_SETDATA_CONF5 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF5 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF5 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get policy value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF5 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + +# +# Check Point : Set Manual Address with wrong data size +# +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress + +set L_ManualListLen 1 +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize 16 +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" +SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] +RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid001 \ + "Ip6Config.SetData - Call SetData to set manual address with wrong data size." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" +DelVar R_Ip6ConfigManualAddress + +# +# Check Points : Set Gateway with wrong data size +# +set L_GatewayListLen 1 +EFI_IPv6_ADDRESS R_Temp_Ip6ConfigGateway +EFI_IPv6_ADDRESS R_Ip6ConfigGateway +set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_GatewayListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) +SetVar R_Ip6ConfigDataSize 8 + +SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5001" +SetVar R_Ip6ConfigGateway @R_Temp_Ip6ConfigGateway +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] +RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid002 \ + "Ip6Config.SetData - Call SetData to set gateway with wrong data size." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" + +DelVar R_Ip6ConfigGateway + +# +# Check Point : Set Dns Server with wrong data size +# +set L_DnsServerListLen 1 +EFI_IPv6_ADDRESS R_Temp_Ip6ConfigDnsServer +EFI_IPv6_ADDRESS R_Ip6ConfigDnsServer +set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_DnsServerListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) +SetVar R_Ip6ConfigDataSize 8 + +SetIpv6Address R_Temp_Ip6ConfigDnsServer "2002::5002" +SetVar R_Ip6ConfigDnsServer @R_Temp_Ip6ConfigDnsServer + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDnsServer,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] +RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid003 \ + "Ip6Config.SetData - Call SetData to set dns server with wrong data size." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" + +DelVar R_Ip6ConfigDnsServer + +# +# Check Point : Set Altlfld with wrong data size +# +SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) +SetVar R_Ip6ConfigDataSize 1 + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceId,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] +RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid004 \ + "Ip6Config.SetData - Call SetData to set Altlfld with wrong data size." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" + +# +# Check Point : Set DadXmits with wrong data size +# +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize 1 +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] +RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid005 \ + "Ip6Config.SetData - Call SetData to set DadXmits with wrong data size." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" + +# +# Check Point : Set Policy with wrong data size +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize 1 +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_BAD_BUFFER_SIZE] +RecordAssertion $assert $Ip6ConfigSetDataConf5AssertionGuid006 \ + "Ip6Config.SetData - Call SetData to set Policy with wrong data size." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_BAD_BUFFER_SIZE" + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_SETDATA_CONF5 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf6.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf6.Case1.tcl index 0430336..0bc8880 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf6.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf6.Case1.tcl @@ -1,72 +1,72 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 6C5FB23E-96A5-475a-8B7E-24B9BBB99C2A -CaseName SetData.Conf6.Case1 -CaseCategory IP6Config -CaseDescription {SetData must not succeed when data type is not supported.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_SETDATA_CONF6 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress -UINT32 R_Ip6ConfigMaximum -# -# Check Point: Call Ip6Config->SetData when data type is not supported. -# -SetVar R_Ip6ConfigDataType $IP6CDT(Maximum) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigMaximum,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_UNSUPPORTED] -RecordAssertion $assert $Ip6ConfigSetDataConf6AssertionGuid001 \ - "Ip6Config.SetData - Call SetData with the data type not supported." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_UNSUPPORTED" - -EndScope _IP6CONFIG_SETDATA_CONF6 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 6C5FB23E-96A5-475a-8B7E-24B9BBB99C2A +CaseName SetData.Conf6.Case1 +CaseCategory IP6Config +CaseDescription {SetData must not succeed when data type is not supported.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_SETDATA_CONF6 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress +UINT32 R_Ip6ConfigMaximum +# +# Check Point: Call Ip6Config->SetData when data type is not supported. +# +SetVar R_Ip6ConfigDataType $IP6CDT(Maximum) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigMaximum,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_UNSUPPORTED] +RecordAssertion $assert $Ip6ConfigSetDataConf6AssertionGuid001 \ + "Ip6Config.SetData - Call SetData with the data type not supported." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_UNSUPPORTED" + +EndScope _IP6CONFIG_SETDATA_CONF6 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf7.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf7.Case1.tcl index 15e118b..22b5676 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf7.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Conf7.Case1.tcl @@ -1,510 +1,510 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 477D07AC-6FEB-460b-BA92-A98245862D09 -CaseName SetData.Conf7.Case1 -CaseCategory IP6Config -CaseDescription {SetData must not succeed when the last asynchronous process for the data type has not been finished yet.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_SETDATA_CONF7 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Context1 -UINTN R_DoneEvent1 -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get policy value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set manual policy succeeds(event is signaled correctly and data correct)." - -# -# Check Point: Call Ip6Config->SetData to set DadXmits 20 -# -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] -SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 20 - -SetVar R_Context1 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ - &@R_DoneEvent1, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set DadXmits 20." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context1 - if { $R_Context1 == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set DadXmits 20." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get DadXmits value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits -if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 20 } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Set DadXmits succeeds(event is signaled correctly and data correct)." - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Set DadXmits succeeds(event is signaled correctly and data correct)." - -# -# Check Point : Set Manual Address with valid parameter -# -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress - -set L_ManualListLen 1 -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress -set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize $L_ListLen -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" -SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_NOT_READY } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual address with valid parameter." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_READY" - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - return -} -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual address with valid parameter." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_READY" - -DelVar R_Ip6ConfigManualAddress - -# -# Check Point : Set Manual Address with valid parameter before the former setting finishes -# -set L_ManualListLen 1 -EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress -set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] -set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize $L_ListLen -SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE -SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 -SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5001" -SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_ACCESS_DENIED] -RecordAssertion $assert $Ip6ConfigSetDataConf7AssertionGuid001 \ - "Ip6Config.SetData - Call SetData to set manual address with valid parameter before the former setting finishes." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_ACCESS_DENIED" - - -# -# Make sure the former configurations succeeds -# (Eliminate the side-effect to other cases) -# -set i 0 -set L_TimeOut 30 -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" -GetAck -GetVar R_Status -set assert pass -while { $R_Status == $EFI_NOT_READY } { - Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" - GetAck - GetVar R_Status - if { $R_Status == $EFI_SUCCESS } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - former SetData finishes." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - return - } - incr i - Stall 1 -} -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - former SetData finishes." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - -# -# Set automatic policy (this will clean up all address information configured) -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Automatic) - -SetVar R_Context 0 - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - set assert pass - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Ip6ConfigPolicy -if { $R_Ip6ConfigPolicy == $IP6CP(Automatic) } { - set assert pass -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - - EndScope _IP6CONFIG_SETDATA_CONF7 - EndLog - - return -} - -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ - "TimeUsed - $i, TimeOut Value- $L_TimeOut" - - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent1,&@R_Status} -GetAck - -EndScope _IP6CONFIG_SETDATA_CONF7 - -EndLog - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 477D07AC-6FEB-460b-BA92-A98245862D09 +CaseName SetData.Conf7.Case1 +CaseCategory IP6Config +CaseDescription {SetData must not succeed when the last asynchronous process for the data type has not been finished yet.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_SETDATA_CONF7 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Context1 +UINTN R_DoneEvent1 +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get policy value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + +# +# Check Point: Call Ip6Config->SetData to set DadXmits 20 +# +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 20 + +SetVar R_Context1 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ + &@R_DoneEvent1, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits 20." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context1 + if { $R_Context1 == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits 20." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get DadXmits value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits +if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 20 } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set DadXmits succeeds(event is signaled correctly and data correct)." + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set DadXmits succeeds(event is signaled correctly and data correct)." + +# +# Check Point : Set Manual Address with valid parameter +# +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress + +set L_ManualListLen 1 +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize $L_ListLen +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" +SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_NOT_READY } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual address with valid parameter." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_READY" + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual address with valid parameter." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_READY" + +DelVar R_Ip6ConfigManualAddress + +# +# Check Point : Set Manual Address with valid parameter before the former setting finishes +# +set L_ManualListLen 1 +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize $L_ListLen +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5001" +SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_ACCESS_DENIED] +RecordAssertion $assert $Ip6ConfigSetDataConf7AssertionGuid001 \ + "Ip6Config.SetData - Call SetData to set manual address with valid parameter before the former setting finishes." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_ACCESS_DENIED" + + +# +# Make sure the former configurations succeeds +# (Eliminate the side-effect to other cases) +# +set i 0 +set L_TimeOut 30 +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +GetVar R_Status +set assert pass +while { $R_Status == $EFI_NOT_READY } { + Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" + GetAck + GetVar R_Status + if { $R_Status == $EFI_SUCCESS } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - former SetData finishes." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + return + } + incr i + Stall 1 +} +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - former SetData finishes." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + +# +# Set automatic policy (this will clean up all address information configured) +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Automatic) + +SetVar R_Context 0 + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + set assert pass + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Automatic) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + + EndScope _IP6CONFIG_SETDATA_CONF7 + EndLog + + return +} + +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Set automatic policy to clean up the former configuration." \ + "TimeUsed - $i, TimeOut Value- $L_TimeOut" + + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent1,&@R_Status} +GetAck + +EndScope _IP6CONFIG_SETDATA_CONF7 + +EndLog + diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Func1.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Func1.Case1.tcl index 2053775..d35f104 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Func1.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Func1.Case1.tcl @@ -1,274 +1,274 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel FUNCTION -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid EF8FF5B4-8855-4fbd-87C5-C28C7312302A -CaseName SetData.Func1.Case1 -CaseCategory IP6Config -CaseDescription {SetData must succeed with valid parameters.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_SETDATA_FUNC1 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_Context1 -UINTN R_DoneEvent -UINTN R_DoneEvent1 -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set AltInterfaceId -# -SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_ID] -SetVar R_Ip6ConfigInterfaceId.Id(0) 0 -SetVar R_Ip6ConfigInterfaceId.Id(1) 1 -SetVar R_Ip6ConfigInterfaceId.Id(2) 2 -SetVar R_Ip6ConfigInterfaceId.Id(3) 3 -SetVar R_Ip6ConfigInterfaceId.Id(4) 4 -SetVar R_Ip6ConfigInterfaceId.Id(5) 5 -SetVar R_Ip6ConfigInterfaceId.Id(6) 6 -SetVar R_Ip6ConfigInterfaceId.Id(7) 7 - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceId,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid001 \ - "Ip6Config.SetData - Call SetData to set AltInterfaceId." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid001 \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - - SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_FUNC1 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid001 \ - "Ip6Config.SetData - Call SetData to set AltInterfaceId." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - - SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_FUNC1 - EndLog - return -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceId,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get AltInterfaceId value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigInterfaceId -if { ${R_Ip6ConfigInterfaceId.Id(0)} == 0 && ${R_Ip6ConfigInterfaceId.Id(1)} == 1 && ${R_Ip6ConfigInterfaceId.Id(2)} == 2 && ${R_Ip6ConfigInterfaceId.Id(3)} == 3 && ${R_Ip6ConfigInterfaceId.Id(4)} == 4 && ${R_Ip6ConfigInterfaceId.Id(5)} == 5 && ${R_Ip6ConfigInterfaceId.Id(6)} == 6 && ${R_Ip6ConfigInterfaceId.Id(7)} == 7} { - set assert pass -} else { - set assert fail -} -RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid002 \ - "Set AltInterfaceId succeeds(event is signaled correctly and data correct)." - -# -# Check Point: Call Ip6Config->SetData to set DadXmits -# -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] -SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 - -SetVar R_Context1 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ - &@R_DoneEvent1, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid003 \ - "Ip6Config.SetData - Call SetData to set DadXmits." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context1 - if { $R_Context1 == 1 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid003 \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - - SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_FUNC1 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid003 \ - "Ip6Config.SetData - Call SetData to set manual DadXmits." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent1,&@R_Status} - GetAck - EndScope _IP6CONFIG_SETDATA_FUNC1 - EndLog -} - -Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.GetData - Call GetData to get DadXmits value." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -GetVar R_Ip6ConfigDadTransmits -if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 3 } { - set assert pass -} else { - set assert fail -} -RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid004 \ - "Set DadXmits succeeds(event is signaled correctly and data correct)." - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -BS->CloseEvent {@R_DoneEvent1,&@R_Status} -GetAck - -EndScope _IP6CONFIG_SETDATA_FUNC1 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel FUNCTION +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid EF8FF5B4-8855-4fbd-87C5-C28C7312302A +CaseName SetData.Func1.Case1 +CaseCategory IP6Config +CaseDescription {SetData must succeed with valid parameters.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_SETDATA_FUNC1 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_Context1 +UINTN R_DoneEvent +UINTN R_DoneEvent1 +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set AltInterfaceId +# +SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_INTERFACE_ID] +SetVar R_Ip6ConfigInterfaceId.Id(0) 0 +SetVar R_Ip6ConfigInterfaceId.Id(1) 1 +SetVar R_Ip6ConfigInterfaceId.Id(2) 2 +SetVar R_Ip6ConfigInterfaceId.Id(3) 3 +SetVar R_Ip6ConfigInterfaceId.Id(4) 4 +SetVar R_Ip6ConfigInterfaceId.Id(5) 5 +SetVar R_Ip6ConfigInterfaceId.Id(6) 6 +SetVar R_Ip6ConfigInterfaceId.Id(7) 7 + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceId,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid001 \ + "Ip6Config.SetData - Call SetData to set AltInterfaceId." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid001 \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC1 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid001 \ + "Ip6Config.SetData - Call SetData to set AltInterfaceId." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + + SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC1 + EndLog + return +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigInterfaceId,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get AltInterfaceId value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigInterfaceId +if { ${R_Ip6ConfigInterfaceId.Id(0)} == 0 && ${R_Ip6ConfigInterfaceId.Id(1)} == 1 && ${R_Ip6ConfigInterfaceId.Id(2)} == 2 && ${R_Ip6ConfigInterfaceId.Id(3)} == 3 && ${R_Ip6ConfigInterfaceId.Id(4)} == 4 && ${R_Ip6ConfigInterfaceId.Id(5)} == 5 && ${R_Ip6ConfigInterfaceId.Id(6)} == 6 && ${R_Ip6ConfigInterfaceId.Id(7)} == 7} { + set assert pass +} else { + set assert fail +} +RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid002 \ + "Set AltInterfaceId succeeds(event is signaled correctly and data correct)." + +# +# Check Point: Call Ip6Config->SetData to set DadXmits +# +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 + +SetVar R_Context1 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context1,\ + &@R_DoneEvent1, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid003 \ + "Ip6Config.SetData - Call SetData to set DadXmits." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context1 + if { $R_Context1 == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid003 \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC1 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid003 \ + "Ip6Config.SetData - Call SetData to set manual DadXmits." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent1,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC1 + EndLog +} + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get DadXmits value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigDadTransmits +if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 3 } { + set assert pass +} else { + set assert fail +} +RecordAssertion $assert $Ip6ConfigSetDataFunc1AssertionGuid004 \ + "Set DadXmits succeeds(event is signaled correctly and data correct)." + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(AltInterfaceId) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent1,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +BS->CloseEvent {@R_DoneEvent1,&@R_Status} +GetAck + +EndScope _IP6CONFIG_SETDATA_FUNC1 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Func2.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Func2.Case1.tcl new file mode 100644 index 0000000..4d9ec42 --- /dev/null +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/SetData.Func2.Case1.tcl @@ -0,0 +1,838 @@ +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 79F40434-2684-459C-8EEB-DCFB822D93F7 +CaseName SetData.Func2.Case1 +CaseCategory IP6Config +CaseDescription {SetData to clear the configuration.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_SETDATA_FUNC2 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return +} + +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get policy value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigPolicy +if { $R_Ip6ConfigPolicy == $IP6CP(Manual) } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy fails(event is signaled correctly but data is incorrect)." + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set manual policy succeeds(event is signaled correctly and data correct)." + +# +# Check Point: Call Ip6Config->SetData to set DadXmits 20 +# +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 20 + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits 20." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits 20." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return +} + +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get DadXmits value." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +GetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits +if { ${R_Ip6ConfigDadTransmits.DupAddrDetectTransmits} == 20 } { + set assert pass +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Set DadXmits fails(event is signaled correctly but data is incorrect)." + + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return +} +RecordAssertion $assert $GenericAssertionGuid \ + "Set DadXmits succeeds(event is signaled correctly and data correct)." + +Stall 30 + +# +# Check Point : Set Manual Address with valid parameter +# + +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Temp_Ip6ConfigManualAddress + +set L_ManualListLen 1 +EFI_IP6_CONFIG_MANUAL_ADDRESS R_Ip6ConfigManualAddress +set L_UnitLen [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_ManualListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize $L_ListLen +SetVar R_Temp_Ip6ConfigManualAddress.IsAnycast FALSE +SetVar R_Temp_Ip6ConfigManualAddress.PrefixLength 64 +SetIpv6Address R_Temp_Ip6ConfigManualAddress.Address "2002::5000" +SetVar R_Ip6ConfigManualAddress @R_Temp_Ip6ConfigManualAddress + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid001 \ + "Ip6Config.SetData - Call SetData to set MANUAL ADDRESS." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid001 \ + "SetData to set MANUAL ADDRESS fail.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid001 \ + "Ip6Config.SetData - Call SetData to set MANUAL ADDRESS." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return +} + +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get Manual Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +GetVar R_Ip6ConfigManualAddress + +set L_Proc_Ipv6Address [GetIpv6Address {R_Ip6ConfigManualAddress.Address}] +if { [string compare $L_Proc_Ipv6Address 2002:0000:0000:0000:0000:0000:0000:5000] != 0 } { + puts $L_Proc_Ipv6Address + set assert fail + + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid002 \ + "Ip6Config.SetData - Set Gateway fail(event is signaled correctly but data is incorrect.)" +} elseif {${R_Ip6ConfigManualAddress.PrefixLength} != 64} { + set assert fail + + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid002 \ + "Ip6Config.SetData - Set Gateway fail(event is signaled correctly but data is incorrect.)" + +} elseif {${R_Ip6ConfigManualAddress.IsAnycast} != false} { + set assert fail + + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid002 \ + "Ip6Config.SetData - Set Gateway fail(event is signaled correctly but data is incorrect.)" + +} else { + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid002 \ + "Ip6Config.SetData - Set Gateway success(event is signaled correctly and data is correct.)" +} + +# +# Clear the Manual Address +# +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,0,NULL,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid003 \ + "Ip6Config.SetData - Call SetData to clear MANUAL ADDRESS." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid003 \ + "SetData to clear MANUAL ADDRESS fail.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid003 \ + "Ip6Config.SetData - Call SetData to clear MANUAL ADDRESS." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return +} + +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigManualAddress,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] +RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid004 \ + "Ip6Config.GetData - Call GetData to get Manual Address." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" + + +# +# Check Point : Set Gateway with valid parameter +# + +set L_GatewayListLen 1 +EFI_IPv6_ADDRESS R_Temp_Ip6ConfigGateway +EFI_IPv6_ADDRESS R_Ip6ConfigGateway +set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_GatewayListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) +SetVar R_Ip6ConfigDataSize $L_ListLen + +SetIpv6Address R_Temp_Ip6ConfigGateway "2002::5001" +SetVar R_Ip6ConfigGateway @R_Temp_Ip6ConfigGateway + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid005 \ + "Ip6Config.SetData - Call SetData to set Gateway." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid005 \ + "SetData to set Gateway fail.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid005 \ + "Ip6Config.SetData - Call SetData to set Gateway." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return +} + +SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get Gateway." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +GetVar R_Ip6ConfigGateway + +set L_Proc_Ipv6Address [GetIpv6Address {R_Ip6ConfigGateway}] +if { [string compare $L_Proc_Ipv6Address 2002:0000:0000:0000:0000:0000:0000:5001] != 0 } { + puts $L_Proc_Ipv6Address + set assert fail + + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid006 \ + "Ip6Config.SetData - Set Gateway fail(event is signaled correctly but data is incorrect.)" +} else { + + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid006 \ + "Ip6Config.SetData - Set Gateway success(event is signaled correctly and data is correct.)" +} + +# +# Clear the Gateway +# +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,0,NULL,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid007 \ + "Ip6Config.SetData - Call SetData to clear Gateway." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid007 \ + "SetData to clear Gateway fail.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid007 \ + "Ip6Config.SetData - Call SetData to clear Gateway." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return +} + +SetVar R_Ip6ConfigDataType $IP6CDT(Gateway) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigGateway,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] +RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid008 \ + "Ip6Config.GetData - Call GetData to get Gateway." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" + + +# +# Check Point : Set DnsServer with valid parameter +# + +set L_DnsServerListLen 1 +EFI_IPv6_ADDRESS R_Temp_Ip6ConfigDnsServer +EFI_IPv6_ADDRESS R_Ip6ConfigDnsServer +set L_UnitLen [Sizeof EFI_IPv6_ADDRESS] +set L_ListLen [expr {$L_UnitLen * $L_DnsServerListLen}] +SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) +SetVar R_Ip6ConfigDataSize $L_ListLen + +SetIpv6Address R_Temp_Ip6ConfigDnsServer "2002::5002" +SetVar R_Ip6ConfigDnsServer @R_Temp_Ip6ConfigDnsServer + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDnsServer,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid009 \ + "Ip6Config.SetData - Call SetData to set DnsServer." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid009 \ + "SetData to set DnsServer fail.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid009 \ + "Ip6Config.SetData - Call SetData to set DnsServer." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return +} + +SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDnsServer,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.GetData - Call GetData to get DnsServer." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +GetVar R_Ip6ConfigDnsServer + +set L_Proc_Ipv6Address [GetIpv6Address {R_Ip6ConfigDnsServer}] +if { [string compare $L_Proc_Ipv6Address 2002:0000:0000:0000:0000:0000:0000:5002] != 0 } { + set assert fail + + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid010 \ + "Ip6Config.SetData - Set DnsServer fail(event is signaled correctly but data is incorrect.)" +} else { + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid010 \ + "Ip6Config.SetData - Set DnsServer success(event is signaled correctly and data is correct.)" +} + +# +# Clear the DnsServer +# +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->SetData "@R_Ip6ConfigDataType,0,NULL,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid011 \ + "Ip6Config.SetData - Call SetData to clear DnsServer." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == 1 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid011 \ + "SetData to clear DnsServer fail.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid011 \ + "Ip6Config.SetData - Call SetData to clear DnsServer." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_SETDATA_FUNC2 + EndLog + return +} + +SetVar R_Ip6ConfigDataType $IP6CDT(DnsServer) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +Ip6Config->GetData "@R_Ip6ConfigDataType,&@R_Ip6ConfigDataSize,&@R_Ip6ConfigDnsServer,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] +RecordAssertion $assert $Ip6ConfigSetDataFunc2AssertionGuid012 \ + "Ip6Config.GetData - Call GetData to get DnsServer." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" + + +EndScope _IP6CONFIG_SETDATA_FUNC2 + +EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf1.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf1.Case1.tcl index a36469f..35b36ce 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf1.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf1.Case1.tcl @@ -1,90 +1,90 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 8B7B6AA6-2DCB-434b-9533-6346ABCC686D -CaseName UnregisterDataNotify.Conf1.Case1 -CaseCategory IP6Config -CaseDescription {UnregisterDataNotify must not succeed when event is NULL.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF1 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Call Ip6Config->SetData to set manual policy -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Check Point: Call Ip6Config->UnregisterDataNotify with the event NULL -# -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType, 0 ,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] -RecordAssertion $assert $Ip6ConfigUnregisterDataNotifyConf1AssertionGuid001 \ - "Ip6Config.UnregisterDataNotify - Unregister notification event with the event NULL." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" - -# -# Clean up -# -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF1 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 8B7B6AA6-2DCB-434b-9533-6346ABCC686D +CaseName UnregisterDataNotify.Conf1.Case1 +CaseCategory IP6Config +CaseDescription {UnregisterDataNotify must not succeed when event is NULL.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF1 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Call Ip6Config->SetData to set manual policy +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Check Point: Call Ip6Config->UnregisterDataNotify with the event NULL +# +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType, 0 ,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_INVALID_PARAMETER] +RecordAssertion $assert $Ip6ConfigUnregisterDataNotifyConf1AssertionGuid001 \ + "Ip6Config.UnregisterDataNotify - Unregister notification event with the event NULL." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_INVALID_PARAMETER" + +# +# Clean up +# +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF1 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf2.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf2.Case1.tcl index d41f141..7eb5808 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf2.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf2.Case1.tcl @@ -1,83 +1,83 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 9CE66A42-FADC-4d44-B577-B58CED8E984B -CaseName UnregisterDataNotify.Conf2.Case1 -CaseCategory IP6Config -CaseDescription {UnregisterDataNotify must not succeed when then event has not been registered for the data type ever.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF2_CASE1 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType - -# -# Check Point: Call Ip6Config->UnregisterDataNotify with the event not registered -# - -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] -RecordAssertion $assert $Ip6ConfigUnregisterDataNotifyConf2AssertionGuid001 \ - "Ip6Config.UnregisterDataNotify - Unregister notification event with the event not registered." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" - -# -# Clean up -# -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF2_CASE1 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 9CE66A42-FADC-4d44-B577-B58CED8E984B +CaseName UnregisterDataNotify.Conf2.Case1 +CaseCategory IP6Config +CaseDescription {UnregisterDataNotify must not succeed when then event has not been registered for the data type ever.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF2_CASE1 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType + +# +# Check Point: Call Ip6Config->UnregisterDataNotify with the event not registered +# + +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] +RecordAssertion $assert $Ip6ConfigUnregisterDataNotifyConf2AssertionGuid001 \ + "Ip6Config.UnregisterDataNotify - Unregister notification event with the event not registered." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" + +# +# Clean up +# +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF2_CASE1 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf2.Case2.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf2.Case2.tcl index 5608dbe..e56d26a 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf2.Case2.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Conf2.Case2.tcl @@ -1,99 +1,99 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel CONFORMANCE -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid EB679CF9-9A56-4a9f-B5CF-2D845B044560 -CaseName UnregisterDataNotify.Conf2.Case2 -CaseCategory IP6Config -CaseDescription {UnregisterDataNotify must not succeed when the event was registered and then unregistered for the data type.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF2_CASE2 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType - -# -# Check Point: Register event for Datatype - ManualAddress and then unregister it -# -SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event with correct parameters." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Check Point: Unregister the event again -# -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] -RecordAssertion $assert $Ip6ConfigUnregisterDataNotifyConf2AssertionGuid002 \ - "Ip6Config.UnregisterDataNotify - Unregister notification event with the event has been unregistered." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" - -# -# Clean up -# -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF2_CASE2 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel CONFORMANCE +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid EB679CF9-9A56-4a9f-B5CF-2D845B044560 +CaseName UnregisterDataNotify.Conf2.Case2 +CaseCategory IP6Config +CaseDescription {UnregisterDataNotify must not succeed when the event was registered and then unregistered for the data type.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF2_CASE2 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType + +# +# Check Point: Register event for Datatype - ManualAddress and then unregister it +# +SetVar R_Ip6ConfigDataType $IP6CDT(ManualAddress) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_MANUAL_ADDRESS] + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event with correct parameters." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Check Point: Unregister the event again +# +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_NOT_FOUND] +RecordAssertion $assert $Ip6ConfigUnregisterDataNotifyConf2AssertionGuid002 \ + "Ip6Config.UnregisterDataNotify - Unregister notification event with the event has been unregistered." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_NOT_FOUND" + +# +# Clean up +# +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_CONF2_CASE2 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Func1.Case1.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Func1.Case1.tcl index 5b88510..6315fa7 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Func1.Case1.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Func1.Case1.tcl @@ -1,98 +1,98 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel FUNCTION -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid 769658B4-3397-4367-8E10-C4513407FFB8 -CaseName UnregisterDataNotify.Func1.Case1 -CaseCategory IP6Config -CaseDescription {UnregisterDataNotify must succeed with valid parameters when handling signal datatype.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE1 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Create Event and RegisterDataNotify -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "IfConfig6.RegisterDataNotify() with valid parameter." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Check Point : Call Ip6Config->UnregisterDataNotify with valid parameter -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid001 \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Close event -# -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE1 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel FUNCTION +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid 769658B4-3397-4367-8E10-C4513407FFB8 +CaseName UnregisterDataNotify.Func1.Case1 +CaseCategory IP6Config +CaseDescription {UnregisterDataNotify must succeed with valid parameters when handling signal datatype.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE1 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Create Event and RegisterDataNotify +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType, @R_DoneEvent ,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "IfConfig6.RegisterDataNotify() with valid parameter." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Check Point : Call Ip6Config->UnregisterDataNotify with valid parameter +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid001 \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Close event +# +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE1 + EndLog \ No newline at end of file diff --git a/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Func1.Case2.tcl b/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Func1.Case2.tcl index 9f30136..cf1a374 100644 --- a/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Func1.Case2.tcl +++ b/uefi-sct/EMS/Bin/TestCase/IP6Config/UnregisterDataNotify.Func1.Case2.tcl @@ -1,237 +1,237 @@ -# -# Copyright 2006 - 2010 Unified EFI, Inc.
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -################################################################################ -CaseLevel FUNCTION -CaseAttribute AUTO -CaseVerboseLevel DEFAULT -set reportfile report.csv - -# -# test case Name, category, description, GUID... -# -CaseGuid C206AA15-2F53-4860-BD78-453C4EA463B6 -CaseName UnregisterDataNotify.Func1.Case2 -CaseCategory IP6Config -CaseDescription {UnregisterDataNotify must succeed with valid parameters when handling multiple datatype.} - -################################################################################ -Include IP6Config/Include/Ip6Config.inc.tcl - - -# -# Begin log ... -# -BeginLog - -# -# BeginScope -# -BeginScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE2 - -# -# Parameter Definition -# R_ represents "Remote EFI Side Parameter" -# L_ represents "Local ENTS Side Parameter" -# -UINTN R_Status -UINTN R_Context -UINTN R_DoneEvent -UINTN R_Ip6ConfigDataSize -UINT32 R_Ip6ConfigDataType -EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo -EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId -UINT32 R_Ip6ConfigPolicy -EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits - -# -# Check Point: Create Event and register it with data type [Policy] and [DadXmits] -# -SetVar R_Context 0 -BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ - &@R_DoneEvent, &@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "BS.CreateEvent." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] -SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 - -Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Check Point: Unregister the event on Datatype [Policy] -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid002 \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for Datatype - Policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -# -# Check Point: Call Ip6Cofnig->SetData to set [Policy] and check whether the event is signaled. -# -SetVar R_Ip6ConfigDataType $IP6CDT(Policy) -SetVar R_Ip6ConfigDataSize [Sizeof UINT32] -SetVar R_Ip6ConfigPolicy $IP6CP(Manual) - -GetVar R_Context -set L_Context1 $R_Context -set L_Context2 $L_Context1 - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" -GetAck -GetVar R_Status -if { $R_Status == $EFI_SUCCESS } { - Stall 5 - GetVar R_Context - if { $R_Context == $L_Context2 } { - set assert pass - } else { - set assert fail - } - RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid003 \ - "Ip6Config.UnregisterDataNotify - Event should not be signaled for DataType - Policy." -} else { - set assert fail - - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set manual policy." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE2 - EndLog - return -} - -# -# Check Point: Call Ip6Config->SetData to set [DadXmits] and check whether the event is signaled. -# -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] -SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 - -GetVar R_Context -set L_Context1 $R_Context -set L_Context2 [expr { $L_Context1 + 1 }] - -Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" -GetAck -GetVar R_Status - -if { $R_Status == $EFI_SUCCESS } { - set assert pass - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set DadXmits." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" -} elseif { $R_Status == $EFI_NOT_READY } { - set i 0 - set L_TimeOut 30 - while { 1 > 0 } { - GetVar R_Context - if { $R_Context == $L_Context2 } { - break - } elseif { $i == $L_TimeOut } { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "SetData failed.(event hasn't been signaled before TIMEOUT)." \ - "TIMEOUT value is $L_TimeOut (sec), " - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE2 - EndLog - return - } - incr i - Stall 1 - } -} else { - set assert fail - RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.SetData - Call SetData to set DadXmits." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - - SetVar R_Ip6ConfigDataType $IP6CDT(Policy) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) - Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" - GetAck - BS->CloseEvent {@R_DoneEvent,&@R_Status} - GetAck - EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE2 - EndLog - return -} - -GetVar R_Context -if { $R_Context == $L_Context2 } { - set assert pass -} else { - set assert fail -} -RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid004 \ - "Ip6Config.RegisterDataNotify - Event should be signaled for DataType - DadXmits." - -# -# Clean up -# -SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) -Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" -GetAck -set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] -RecordAssertion $assert $GenericAssertionGuid \ - "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ - "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" - -BS->CloseEvent {@R_DoneEvent,&@R_Status} -GetAck - -EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE2 - +# +# Copyright 2006 - 2010 Unified EFI, Inc.
+# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +################################################################################ +CaseLevel FUNCTION +CaseAttribute AUTO +CaseVerboseLevel DEFAULT +set reportfile report.csv + +# +# test case Name, category, description, GUID... +# +CaseGuid C206AA15-2F53-4860-BD78-453C4EA463B6 +CaseName UnregisterDataNotify.Func1.Case2 +CaseCategory IP6Config +CaseDescription {UnregisterDataNotify must succeed with valid parameters when handling multiple datatype.} + +################################################################################ +Include IP6Config/Include/Ip6Config.inc.tcl + + +# +# Begin log ... +# +BeginLog + +# +# BeginScope +# +BeginScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE2 + +# +# Parameter Definition +# R_ represents "Remote EFI Side Parameter" +# L_ represents "Local ENTS Side Parameter" +# +UINTN R_Status +UINTN R_Context +UINTN R_DoneEvent +UINTN R_Ip6ConfigDataSize +UINT32 R_Ip6ConfigDataType +EFI_IP6_CONFIG_INTERFACE_INFO R_Ip6ConfigInterfaceInfo +EFI_IP6_CONFIG_INTERFACE_ID R_Ip6ConfigInterfaceId +UINT32 R_Ip6ConfigPolicy +EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS R_Ip6ConfigDadTransmits + +# +# Check Point: Create Event and register it with data type [Policy] and [DadXmits] +# +SetVar R_Context 0 +BS->CreateEvent "$EVT_NOTIFY_SIGNAL, $EFI_TPL_NOTIFY, 1, &@R_Context,\ + &@R_DoneEvent, &@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "BS.CreateEvent." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 + +Ip6Config->RegisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.RegisterDataNotify - Register notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Check Point: Unregister the event on Datatype [Policy] +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $Ip6ConfigUnregisterDataNotifyFunc1AssertionGuid002 \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for Datatype - Policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +# +# Check Point: Call Ip6Cofnig->SetData to set [Policy] and check whether the event is signaled. +# +SetVar R_Ip6ConfigDataType $IP6CDT(Policy) +SetVar R_Ip6ConfigDataSize [Sizeof UINT32] +SetVar R_Ip6ConfigPolicy $IP6CP(Manual) + +GetVar R_Context +set L_Context1 $R_Context +set L_Context2 $L_Context1 + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigPolicy,&@R_Status" +GetAck +GetVar R_Status +if { $R_Status == $EFI_SUCCESS } { + Stall 5 + GetVar R_Context + if { $R_Context == $L_Context2 } { + set assert pass + } else { + set assert fail + } + RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid003 \ + "Ip6Config.UnregisterDataNotify - Event should not be signaled for DataType - Policy." +} else { + set assert fail + + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set manual policy." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE2 + EndLog + return +} + +# +# Check Point: Call Ip6Config->SetData to set [DadXmits] and check whether the event is signaled. +# +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +SetVar R_Ip6ConfigDataSize [Sizeof EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS] +SetVar R_Ip6ConfigDadTransmits.DupAddrDetectTransmits 3 + +GetVar R_Context +set L_Context1 $R_Context +set L_Context2 [expr { $L_Context1 + 1 }] + +Ip6Config->SetData "@R_Ip6ConfigDataType,@R_Ip6ConfigDataSize,&@R_Ip6ConfigDadTransmits,&@R_Status" +GetAck +GetVar R_Status + +if { $R_Status == $EFI_SUCCESS } { + set assert pass + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" +} elseif { $R_Status == $EFI_NOT_READY } { + set i 0 + set L_TimeOut 30 + while { 1 > 0 } { + GetVar R_Context + if { $R_Context == $L_Context2 } { + break + } elseif { $i == $L_TimeOut } { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "SetData failed.(event hasn't been signaled before TIMEOUT)." \ + "TIMEOUT value is $L_TimeOut (sec), " + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE2 + EndLog + return + } + incr i + Stall 1 + } +} else { + set assert fail + RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.SetData - Call SetData to set DadXmits." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + + SetVar R_Ip6ConfigDataType $IP6CDT(Policy) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) + Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" + GetAck + BS->CloseEvent {@R_DoneEvent,&@R_Status} + GetAck + EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE2 + EndLog + return +} + +GetVar R_Context +if { $R_Context == $L_Context2 } { + set assert pass +} else { + set assert fail +} +RecordAssertion $assert $Ip6ConfigRegisterDataNotifyFunc1AssertionGuid004 \ + "Ip6Config.RegisterDataNotify - Event should be signaled for DataType - DadXmits." + +# +# Clean up +# +SetVar R_Ip6ConfigDataType $IP6CDT(DupAddrDetectTransmits) +Ip6Config->UnregisterDataNotify "@R_Ip6ConfigDataType,@R_DoneEvent,&@R_Status" +GetAck +set assert [VerifyReturnStatus R_Status $EFI_SUCCESS] +RecordAssertion $assert $GenericAssertionGuid \ + "Ip6Config.UnregisterDataNotify - Unregister notification event for configuration." \ + "ReturnStatus - $R_Status, ExpectedStatus - $EFI_SUCCESS" + +BS->CloseEvent {@R_DoneEvent,&@R_Status} +GetAck + +EndScope _IP6CONFIG_UNREGISTERDATANOTIFY_FUNC1_CASE2 + EndLog \ No newline at end of file -- 2.9.0.windows.1