mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
fix(sdmmc): BDL calculate sectors cast fix
Closes https://github.com/espressif/esp-idf/issues/18875
This commit is contained in:
@@ -15,9 +15,35 @@
|
||||
#include "sdmmc_test_begin_end_sd.h"
|
||||
#include "sdmmc_test_rw_common.h"
|
||||
#include "esp_blockdev.h"
|
||||
#include "esp_private/sdmmc_blockdev.h"
|
||||
|
||||
#define TEST_MEMORY_LEAK_THRESHOLD (200)
|
||||
|
||||
TEST_CASE("sdmmc blockdev converts byte ranges to sectors", "[sdmmc]")
|
||||
{
|
||||
size_t start_sector;
|
||||
size_t sector_count;
|
||||
|
||||
TEST_ESP_OK(sdmmc_blockdev_calculate_sectors(512, UINT64_C(0x100000000), 1024,
|
||||
&start_sector, §or_count));
|
||||
TEST_ASSERT_EQUAL_UINT32(8388608, start_sector);
|
||||
TEST_ASSERT_EQUAL_UINT32(2, sector_count);
|
||||
|
||||
TEST_ESP_OK(sdmmc_blockdev_calculate_sectors(512, UINT64_C(0x100000000), 0,
|
||||
&start_sector, §or_count));
|
||||
TEST_ASSERT_EQUAL_UINT32(8388608, start_sector);
|
||||
TEST_ASSERT_EQUAL_UINT32(0, sector_count);
|
||||
|
||||
TEST_ASSERT_EQUAL(ESP_ERR_INVALID_ARG,
|
||||
sdmmc_blockdev_calculate_sectors(512, 1, 512, NULL, NULL));
|
||||
TEST_ASSERT_EQUAL(ESP_ERR_INVALID_ARG,
|
||||
sdmmc_blockdev_calculate_sectors(512, 0, 1, NULL, NULL));
|
||||
TEST_ASSERT_EQUAL(ESP_ERR_INVALID_ARG,
|
||||
sdmmc_blockdev_calculate_sectors(0, 0, 512, NULL, NULL));
|
||||
TEST_ASSERT_EQUAL(ESP_ERR_INVALID_SIZE,
|
||||
sdmmc_blockdev_calculate_sectors(512, UINT64_MAX - 511, 512, NULL, NULL));
|
||||
}
|
||||
|
||||
TEST_CASE("sdmmc extra, bdl interface test", "[sdcard]")
|
||||
{
|
||||
sdmmc_card_t card;
|
||||
|
||||
Reference in New Issue
Block a user