Skip to content

Commit 3be3073

Browse files
committed
STORAGE - Update basicApi test for STM32
- Increase some timeouts - Allow program_unit smaller than 4 bytes
1 parent 5d01386 commit 3be3073

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

TESTS/storage_abstraction/basicAPI/basicAPI.cpp

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,20 @@
3030
#include <string.h>
3131
#include <inttypes.h>
3232

33+
#define ERASE_CASE_TIMEOUT (1000)
34+
3335
using namespace utest::v1;
3436

37+
#if defined(TARGET_K64F)
3538
extern ARM_DRIVER_STORAGE ARM_Driver_Storage_MTD_K64F;
3639
ARM_DRIVER_STORAGE *drv = &ARM_Driver_Storage_MTD_K64F;
40+
#elif defined(TARGET_STM)
41+
extern ARM_DRIVER_STORAGE ARM_Driver_Storage_MTD_STM32;
42+
ARM_DRIVER_STORAGE *drv = &ARM_Driver_Storage_MTD_STM32;
43+
#else
44+
extern ARM_DRIVER_STORAGE ARM_Driver_Storage_(0);
45+
ARM_DRIVER_STORAGE *drv = &ARM_Driver_Storage_(0);
46+
#endif
3747

3848
/* temporary buffer to hold data for testing. */
3949
static const unsigned BUFFER_SIZE = 16384;
@@ -282,7 +292,7 @@ void programDataCompleteCallback(int32_t status, ARM_STORAGE_OPERATION operation
282292
TEST_ASSERT(status >= 0);
283293
static unsigned programIteration = 0;
284294

285-
static const uint32_t BYTE_PATTERN = 0xAA551122;
295+
static const uint8_t BYTE_PATTERN = 0xAA;
286296
ARM_STORAGE_BLOCK firstBlock;
287297
drv->GetNextBlock(NULL, &firstBlock); /* get first block */
288298
TEST_ASSERT(ARM_STORAGE_VALID_BLOCK(&firstBlock));
@@ -301,9 +311,8 @@ void programDataCompleteCallback(int32_t status, ARM_STORAGE_OPERATION operation
301311

302312
size_t sizeofData = info.program_unit;
303313
TEST_ASSERT(BUFFER_SIZE >= sizeofData);
304-
TEST_ASSERT((sizeofData % sizeof(uint32_t)) == 0);
305-
for (size_t index = 0; index < sizeofData / sizeof(uint32_t); index++) {
306-
((uint32_t *)buffer)[index] = BYTE_PATTERN;
314+
for (size_t index = 0; index < sizeofData; index++) {
315+
((uint8_t *)buffer)[index] = BYTE_PATTERN;
307316
}
308317

309318
status = drv->ProgramData(addr, buffer, sizeofData);
@@ -371,17 +380,16 @@ control_t test_programDataUsingProgramUnit(const size_t call_count)
371380
TEST_ASSERT(rc >= 0);
372381
if (rc == ARM_DRIVER_OK) {
373382
TEST_ASSERT_EQUAL(1, capabilities.asynchronous_ops);
374-
return (call_count < REPEAT_INSTANCES) ? CaseTimeout(200) + CaseRepeatAll: CaseTimeout(200);
383+
return (call_count < REPEAT_INSTANCES) ? CaseTimeout(ERASE_CASE_TIMEOUT) + CaseRepeatAll: CaseTimeout(ERASE_CASE_TIMEOUT);
375384
} else {
376385
TEST_ASSERT_EQUAL(firstBlock.attributes.erase_unit, rc);
377386
verifyBytePattern(addr, firstBlock.attributes.erase_unit, info.erased_value ? (uint8_t)0xFF : (uint8_t)0);
378387

379-
static const uint32_t BYTE_PATTERN = 0xAA551122;
388+
static const uint8_t BYTE_PATTERN = 0xAA;
380389
size_t sizeofData = info.program_unit;
381390
TEST_ASSERT(BUFFER_SIZE >= sizeofData);
382-
TEST_ASSERT((sizeofData % sizeof(uint32_t)) == 0);
383-
for (size_t index = 0; index < sizeofData / sizeof(uint32_t); index++) {
384-
((uint32_t *)buffer)[index] = BYTE_PATTERN;
391+
for (size_t index = 0; index < sizeofData; index++) {
392+
((uint8_t *)buffer)[index] = BYTE_PATTERN;
385393
}
386394

387395
/* program the sector at addr */
@@ -493,7 +501,7 @@ control_t test_programDataUsingOptimalProgramUnit(const size_t call_count)
493501
TEST_ASSERT(rc >= 0);
494502
if (rc == ARM_DRIVER_OK) {
495503
TEST_ASSERT_EQUAL(1, capabilities.asynchronous_ops);
496-
return (call_count < REPEAT_INSTANCES) ? CaseTimeout(200) + CaseRepeatAll: CaseTimeout(200);
504+
return (call_count < REPEAT_INSTANCES) ? CaseTimeout(ERASE_CASE_TIMEOUT) + CaseRepeatAll: CaseTimeout(ERASE_CASE_TIMEOUT);
497505
} else {
498506
TEST_ASSERT_EQUAL(firstBlock.attributes.erase_unit, rc);
499507
verifyBytePattern(addr, firstBlock.attributes.erase_unit, info.erased_value ? (uint8_t)0xFF : (uint8_t)0);
@@ -627,7 +635,7 @@ control_t test_erase(const size_t call_count)
627635
int32_t rc = drv->Erase(addr, ERASE_UNITS_PER_ITERATION * firstBlock.attributes.erase_unit);
628636
if (rc == ARM_DRIVER_OK) {
629637
TEST_ASSERT_EQUAL(1, capabilities.asynchronous_ops);
630-
return (call_count < REPEAT_INSTANCES) ? CaseTimeout(200) + CaseRepeatAll: CaseTimeout(200);
638+
return (call_count < REPEAT_INSTANCES) ? CaseTimeout(ERASE_CASE_TIMEOUT) + CaseRepeatAll: CaseTimeout(ERASE_CASE_TIMEOUT);
631639
} else {
632640
TEST_ASSERT_EQUAL(ERASE_UNITS_PER_ITERATION * firstBlock.attributes.erase_unit, rc);
633641

@@ -911,7 +919,7 @@ control_t test_programDataWithMultipleProgramUnits(const size_t call_count)
911919
TEST_ASSERT(rc >= 0);
912920
if (rc == ARM_DRIVER_OK) {
913921
TEST_ASSERT_EQUAL(1, capabilities.asynchronous_ops);
914-
return CaseTimeout(500);
922+
return CaseTimeout(1000);
915923
} else {
916924
TEST_ASSERT_EQUAL((N_UNITS * info.program_unit), rc);
917925

0 commit comments

Comments
 (0)