public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
To: Eric Jin <eric.jin@intel.com>, edk2-devel@lists.01.org
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Subject: Re: [PATCH] uefi-sct/SctPkg:The original design for the 'EraseLengthGranularity' test need consider this case
Date: Mon, 15 Oct 2018 13:57:28 +0100	[thread overview]
Message-ID: <7b1b738c-50c7-a17c-23b3-ad800a923a0a@arm.com> (raw)
In-Reply-To: <61ec5985-249f-472a-89be-e143882fb015@arm.com>

FYI


On 10/15/2018 03:08 AM, Supreeth Venkatesh wrote:
>
>
> Commit Message less than 80 cols please.
>
>
> On 10/13/2018 04:51 PM, Eric Jin wrote:
>> For the SD device, no same as the eMMC, the 'EraseLengthGranularity' is 1.
>>
>> Cc: Supreeth Venkatesh<supreeth.venkatesh@arm.com>
>> Cc: Jiaxin Wu<jiaxin.wu@intel.com>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Eric Jin<eric.jin@intel.com>
>> ---
>>   .../BlackBoxTest/EraseBlockBBTestFunction.c   | 154 +++++++++---------
>>   1 file changed, 78 insertions(+), 76 deletions(-)
>>
>> diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/EraseBlock/BlackBoxTest/EraseBlockBBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/EraseBlock/BlackBoxTest/EraseBlockBBTestFunction.c
>> index bc16a473..ea081625 100644
>> --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/EraseBlock/BlackBoxTest/EraseBlockBBTestFunction.c
>> +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/EraseBlock/BlackBoxTest/EraseBlockBBTestFunction.c
>> @@ -214,54 +214,56 @@ BBTestEraseBlocksFunctionTest (
>>         }
>>   
>>         // Erase Blocks with non-EraseLengthGranularity blocks
>> -      Token.Event = NULL;
>> -      Token.TransactionStatus = EFI_NOT_READY;
>> -      EraseStatus = EraseBlock->EraseBlocks (EraseBlock, MediaId, Lba+1, &Token, BufferSize - 2 * BlockSize);
>> -
>> -      // Read the data with 0, the first/last block should not be erased
>> -      ReadStatus = BlockIo->ReadBlocks (BlockIo, MediaId, Lba, BufferSize, (VOID*)Buffer2);
>> -      if (ReadStatus == EFI_SUCCESS) {
>> -        for (Index1 = 0; Index1 < BlockSize; Index1++) {
>> -          if (Buffer2[Index1] != 0) {
>> -            IsZero1 = FALSE;
>> -            break;
>> +      if (BufferSize > 2 * BlockSize) {
> Magic Number 2.
>> +        Token.Event = NULL;
>> +        Token.TransactionStatus = EFI_NOT_READY;
>> +
>> +        EraseStatus = EraseBlock->EraseBlocks (EraseBlock, MediaId, Lba+1, &Token, BufferSize - 2 * BlockSize);
> Magic number 2.
>> +
>> +        // Read the data with 0, the first/last block should not be erased
>> +        ReadStatus = BlockIo->ReadBlocks (BlockIo, MediaId, Lba, BufferSize, (VOID*)Buffer2);
>> +        if (ReadStatus == EFI_SUCCESS) {
>> +          for (Index1 = 0; Index1 < BlockSize; Index1++) {
>> +            if (Buffer2[Index1] != 0) {
>> +              IsZero1 = FALSE;
>> +              break;
>> +            }
>>             }
>> -        }
>>   
>> -        for (Index1 = BlockSize; Index1 < BufferSize - BlockSize; Index1++) {
>> -          if (Buffer2[Index1] != 0) {
>> -            IsZero2 = FALSE;
>> -            break;
>> +          for (Index1 = BlockSize; Index1 < BufferSize - BlockSize; Index1++) {
>> +            if (Buffer2[Index1] != 0) {
>> +              IsZero2 = FALSE;
>> +              break;
>> +            }
>>             }
>> -        }
>>   
>> -        for (Index1 = BufferSize - BlockSize; Index1 < BufferSize; Index1++) {
>> -          if (Buffer2[Index1] != 0) {
>> -            IsZero3 = FALSE;
>> -            break;
>> +          for (Index1 = BufferSize - BlockSize; Index1 < BufferSize; Index1++) {
>> +            if (Buffer2[Index1] != 0) {
>> +              IsZero3 = FALSE;
>> +              break;
>> +            }
>>             }
>> -        }
>>   
>> -        if ((EraseStatus == EFI_SUCCESS) && (IsZero1 == FALSE) && (IsZero2 == TRUE) && ((IsZero3 == FALSE)))
>> -       	  AssertionType = EFI_TEST_ASSERTION_PASSED;
>> -        else
>> -          AssertionType = EFI_TEST_ASSERTION_FAILED;
>> +          if ((EraseStatus == EFI_SUCCESS) && (IsZero1 == FALSE) && (IsZero2 == TRUE) && ((IsZero3 == FALSE)))
> Less than 80 cols.
>> +       	    AssertionType = EFI_TEST_ASSERTION_PASSED;
>> +          else
>> +            AssertionType = EFI_TEST_ASSERTION_FAILED;
>>   
>>           
>> -        StandardLib->RecordAssertion (
>> -                       StandardLib,
>> -                       AssertionType,
>> -                       gEraseBlockBBTestFunctionAssertionGuid003,
>> -                       L"EraseBlocks - EraseBlocks for testing, the first/last block should not be erased",
>> -                       L"%a:%d:EraseBlocks Status - %r, IsZero1 - %d, IsZero2 - %d, IsZero3 - %d",
>> -                       __FILE__,
>> -                       (UINTN)__LINE__,
>> -                       Status,
>> -                       IsZero1, IsZero2, IsZero3
>> -                       );
>> +          StandardLib->RecordAssertion (
>> +                         StandardLib,
>> +                         AssertionType,
>> +                         gEraseBlockBBTestFunctionAssertionGuid003,
>> +                         L"EraseBlocks - EraseBlocks for testing, the first/last block should not be erased",
>> +                         L"%a:%d:EraseBlocks Status - %r, IsZero1 - %d, IsZero2 - %d, IsZero3 - %d",
>> +                         __FILE__,
>> +                         (UINTN)__LINE__,
>> +                         EraseStatus,
>> +                         IsZero1, IsZero2, IsZero3
>> +                         );
>>   
>> +        }
>>         }
>> -
>>         //
>>         // Erase Blocks with the EraseLengthGranularity blocks
>>         //
>> @@ -453,13 +455,13 @@ BlockIo2:
>>         //
>>         // Erase Blocks with non EraseLengthGranularity blocks
>>         //
>> +      if (BufferSize > 2 * BlockSize) {
> Magic Number 2.
>> +        Token.Event             = NULL;
>> +        Token.TransactionStatus = EFI_NOT_READY;
>>   
>> -      Token.Event             = NULL;
>> -      Token.TransactionStatus = EFI_NOT_READY;
>> -
>> -      EnterEvent = 0;
>> +        EnterEvent = 0;
>>   
>> -      Status = gtBS->CreateEvent (
>> +        Status = gtBS->CreateEvent (
>>                      EVT_NOTIFY_SIGNAL,
>>                      TPL_CALLBACK,
>>                      (EFI_EVENT_NOTIFY) NotifyFunction,
>> @@ -467,8 +469,8 @@ BlockIo2:
>>                      &Token.Event
>>                      );
>>   
>> -      if (EFI_ERROR (Status)) {
>> -        StandardLib->RecordAssertion (
>> +        if (EFI_ERROR (Status)) {
>> +          StandardLib->RecordAssertion (
>>                          StandardLib,
>>                          EFI_TEST_ASSERTION_FAILED,
>>                          gTestGenericFailureGuid,
>> @@ -478,46 +480,46 @@ BlockIo2:
>>                          (UINTN)__LINE__,
>>                          Status
>>                          );
>> -        FreeAlignedPool(Buffer1);
>> -        FreeAlignedPool(Buffer2);
>> -        goto End;
>> -      }
>> +          FreeAlignedPool(Buffer1);
>> +          FreeAlignedPool(Buffer2);
>> +          goto End;
>> +        }
>>   
>> -      EraseStatus = EraseBlock->EraseBlocks (EraseBlock, MediaId, Lba+1, &Token, BufferSize - 2 * BlockSize);
>> +        EraseStatus = EraseBlock->EraseBlocks (EraseBlock, MediaId, Lba+1, &Token, BufferSize - 2 * BlockSize);
> Magic Number 2.
>>   
>> -      while(Token.TransactionStatus == EFI_NOT_READY);
>> +        while(Token.TransactionStatus == EFI_NOT_READY);
>>   
>> -      // Read the data with 0, the first/last block should not be erased
>> -      ReadStatus = BlockIo2->ReadBlocksEx (BlockIo2, MediaId, Lba, &BlockIo2Token, BufferSize, (VOID*)Buffer2);
>> -      if (ReadStatus == EFI_SUCCESS) {
>> -        for (Index1 = 0; Index1 < BlockSize; Index1++) {
>> -          if (Buffer2[Index1] != 0) {
>> -            IsZero1 = FALSE;
>> -            break;
>> +        // Read the data with 0, the first/last block should not be erased
>> +        ReadStatus = BlockIo2->ReadBlocksEx (BlockIo2, MediaId, Lba, &BlockIo2Token, BufferSize, (VOID*)Buffer2);
>> +        if (ReadStatus == EFI_SUCCESS) {
>> +          for (Index1 = 0; Index1 < BlockSize; Index1++) {
>> +            if (Buffer2[Index1] != 0) {
>> +              IsZero1 = FALSE;
>> +              break;
>> +            }
>>             }
>> -        }
>>   
>> -        for (Index1 = BlockSize; Index1 < BufferSize - BlockSize; Index1++) {
>> -          if (Buffer2[Index1] != 0) {
>> -            IsZero2 = FALSE;
>> -            break;
>> +          for (Index1 = BlockSize; Index1 < BufferSize - BlockSize; Index1++) {
>> +            if (Buffer2[Index1] != 0) {
>> +              IsZero2 = FALSE;
>> +              break;
>> +            }
>>             }
>> -        }
>>   
>> -        for (Index1 = BufferSize - BlockSize; Index1 < BufferSize; Index1++) {
>> -          if (Buffer2[Index1] != 0) {
>> -            IsZero3 = FALSE;
>> -            break;
>> +          for (Index1 = BufferSize - BlockSize; Index1 < BufferSize; Index1++) {
>> +            if (Buffer2[Index1] != 0) {
>> +              IsZero3 = FALSE;
>> +              break;
>> +            }
>>             }
>> -        }
>>   
>> -        if ((EraseStatus == EFI_SUCCESS) && (IsZero1 == FALSE) && (IsZero2 == TRUE) && ((IsZero3 == FALSE)))
>> -       	  AssertionType = EFI_TEST_ASSERTION_PASSED;
>> -        else
>> -          AssertionType = EFI_TEST_ASSERTION_FAILED;
>> +          if ((EraseStatus == EFI_SUCCESS) && (IsZero1 == FALSE) && (IsZero2 == TRUE) && ((IsZero3 == FALSE)))
> less than 80 cols.
>> +       	    AssertionType = EFI_TEST_ASSERTION_PASSED;
>> +          else
>> +            AssertionType = EFI_TEST_ASSERTION_FAILED;
>>   
>>           
>> -        StandardLib->RecordAssertion (
>> +          StandardLib->RecordAssertion (
>>                          StandardLib,
>>                          AssertionType,
>>                          gEraseBlockBBTestFunctionAssertionGuid004,
>> @@ -525,12 +527,12 @@ BlockIo2:
>>                          L"%a:%d:EraseBlocks Status - %r, IsZero1 - %d, IsZero2 - %d, IsZero3 - %d",
>>                          __FILE__,
>>                          (UINTN)__LINE__,
>> -                       Status,
>> +                       EraseStatus,
>>                          IsZero1, IsZero2, IsZero3
>>                          );
>>   
>> +        }
>>         }
>> -
>>         //
>>         // Erase Blocks with the EraseLengthGranularity blocks
>>         //
>



  reply	other threads:[~2018-10-16  9:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-13 15:51 [PATCH] uefi-sct/SctPkg:The original design for the 'EraseLengthGranularity' test need consider this case Eric Jin
2018-10-15  1:44 ` Supreeth Venkatesh
2018-10-15 13:10   ` Supreeth Venkatesh
2018-10-15  2:08 ` Supreeth Venkatesh
2018-10-15 12:57   ` Supreeth Venkatesh [this message]
2018-10-15 13:10   ` Supreeth Venkatesh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7b1b738c-50c7-a17c-23b3-ad800a923a0a@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox