From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.101.70; helo=foss.arm.com; envelope-from=supreeth.venkatesh@arm.com; receiver=edk2-devel@lists.01.org Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by ml01.01.org (Postfix) with ESMTP id E78E72116822E for ; Fri, 12 Oct 2018 01:57:11 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 820B5F; Fri, 12 Oct 2018 01:57:11 -0700 (PDT) Received: from [10.6.43.238] (bc-c3-3-14.eu.iaas.arm.com [10.6.43.238]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 168313F5D3; Fri, 12 Oct 2018 01:57:09 -0700 (PDT) To: Eric Jin , edk2-devel@lists.01.org References: <20181012082007.2936-1-eric.jin@intel.com> From: Supreeth Venkatesh Message-ID: Date: Fri, 12 Oct 2018 09:57:04 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20181012082007.2936-1-eric.jin@intel.com> Subject: Re: [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:57:12 -0000 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Eric, We don't have EMS support in AARCH64, Can someone from Intel review this? Thanks, Supreeth On 10/12/2018 09:20 AM, Eric Jin wrote: > 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