Re: [edk2] [PATCH] uefi-sct/SctPkg:The original design for the 'EraseLengthGranularity' test need consider this case

2018-10-16 Thread Supreeth Venkatesh

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
Cc: Jiaxin Wu
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Jin
---
  .../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, 
, 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, 
, 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 * 

Re: [edk2] [PATCH] uefi-sct/SctPkg:The original design for the 'EraseLengthGranularity' test need consider this case

2018-10-16 Thread Supreeth Venkatesh



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
Cc: Jiaxin Wu
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Jin
---
  .../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, 
, 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, 
, 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  

Re: [edk2] [PATCH] uefi-sct/SctPkg:The original design for the 'EraseLengthGranularity' test need consider this case

2018-10-16 Thread Supreeth Venkatesh



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 
Cc: Jiaxin Wu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Jin 
---
  .../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, 
, 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, 
, 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   

Re: [edk2] [PATCH] uefi-sct/SctPkg:The original design for the 'EraseLengthGranularity' test need consider this case

2018-10-15 Thread Supreeth Venkatesh
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 


Cc: Jiaxin Wu 

Contributed-under: TianoCore Contribution Agreement 1.1

Signed-off-by: Eric Jin 

---

 .../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, 
, 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, 
, 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

   

Re: [edk2] [PATCH] uefi-sct/SctPkg:The original design for the 'EraseLengthGranularity' test need consider this case

2018-10-15 Thread Supreeth Venkatesh
FYI

On 10/15/2018 02:44 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 

Cc: Jiaxin Wu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Jin 
---
  .../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, 
, 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, 
, 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 

[edk2] [PATCH] uefi-sct/SctPkg:The original design for the 'EraseLengthGranularity' test need consider this case

2018-10-13 Thread Eric Jin
For the SD device, no same as the eMMC, the 'EraseLengthGranularity' is 1.

Cc: Supreeth Venkatesh 
Cc: Jiaxin Wu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Jin 
---
 .../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, 
, 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) {
+Token.Event = NULL;
+Token.TransactionStatus = EFI_NOT_READY;
+  
+EraseStatus = EraseBlock->EraseBlocks (EraseBlock, MediaId, Lba+1, 
, 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;
+}
   }
-}
 
-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)))
+   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) {
+Token.Event = NULL;
+Token.TransactionStatus = EFI_NOT_READY;
 
-  Token.Event = NULL;
-  Token.TransactionStatus = EFI_NOT_READY;
-
-