diff --git a/components/efuse/test_apps/main/Kconfig.projbuild b/components/efuse/test_apps/main/Kconfig.projbuild new file mode 100644 index 0000000000..b43354f5a3 --- /dev/null +++ b/components/efuse/test_apps/main/Kconfig.projbuild @@ -0,0 +1,11 @@ +menu "eFuse Tests" + visible if IDF_ENV_FPGA + + config EFUSE_FPGA_TEST + bool "Enable eFuse tests for FPGA (developers only, will PERMANENTLY burn efuses)" + default y if IDF_ENV_FPGA + help + This includes eFuse tests for FPGA. These tests expect actual eFuse burning. + Disable EFUSE_VIRTUAL to use real eFuse burning. + +endmenu diff --git a/components/efuse/test_apps/main/one_key_block/test_efuse.c b/components/efuse/test_apps/main/one_key_block/test_efuse.c index 8b2f3e10c1..ed23c1a4fd 100644 --- a/components/efuse/test_apps/main/one_key_block/test_efuse.c +++ b/components/efuse/test_apps/main/one_key_block/test_efuse.c @@ -121,7 +121,7 @@ TEST_CASE("Test a key read protection 2", "[efuse]") } #endif // CONFIG_EFUSE_VIRTUAL -#ifdef CONFIG_IDF_ENV_FPGA +#ifdef CONFIG_EFUSE_FPGA_TEST TEST_CASE("Test a real write (FPGA)2", "[efuse]") { esp_efuse_utility_debug_dump_blocks(); @@ -150,4 +150,4 @@ TEST_CASE("Test a real write (FPGA)2", "[efuse]") #endif // CONFIG_EFUSE_VIRTUAL esp_efuse_utility_debug_dump_blocks(); } -#endif // CONFIG_IDF_ENV_FPGA +#endif // CONFIG_EFUSE_FPGA_TEST diff --git a/components/efuse/test_apps/main/one_key_block/test_efuse_keys.c b/components/efuse/test_apps/main/one_key_block/test_efuse_keys.c index 7ef8c4091c..8e0e9cd98a 100644 --- a/components/efuse/test_apps/main/one_key_block/test_efuse_keys.c +++ b/components/efuse/test_apps/main/one_key_block/test_efuse_keys.c @@ -46,7 +46,7 @@ TEST_CASE("Test keys and purposes, rd, wr, wr_key_purposes are in the initial st #endif // CONFIG_EFUSE_VIRTUAL // If using efuse is real, then turn off writing tests. -#if CONFIG_EFUSE_VIRTUAL || CONFIG_IDF_ENV_FPGA +#if CONFIG_EFUSE_VIRTUAL || CONFIG_EFUSE_FPGA_TEST static esp_err_t s_check_key(esp_efuse_block_t num_key, void* wr_key, esp_efuse_purpose_t purpose) { @@ -63,16 +63,16 @@ static esp_err_t s_check_key(esp_efuse_block_t num_key, void* wr_key, esp_efuse_ uint8_t rd_key[32] = { 0xEE }; TEST_ESP_OK(esp_efuse_read_block(EFUSE_BLK_KEY0, &rd_key, offset_in_bits, key_size * 8)); -#ifndef CONFIG_IDF_ENV_FPGA +#ifndef CONFIG_EFUSE_FPGA_TEST TEST_ASSERT_EQUAL_HEX8_ARRAY(wr_key, rd_key, key_size); -#endif // not CONFIG_IDF_ENV_FPGA +#endif // not CONFIG_EFUSE_FPGA_TEST TEST_ASSERT_TRUE(esp_efuse_get_key_dis_write(num_key)); if (purpose == ESP_EFUSE_KEY_PURPOSE_XTS_AES_128_KEY || purpose == ESP_EFUSE_KEY_PURPOSE_XTS_AES_128_KEY_DERIVED_FROM_128_EFUSE_BITS) { TEST_ASSERT_TRUE(esp_efuse_get_key_dis_read(num_key)); -#if CONFIG_IDF_ENV_FPGA && !CONFIG_EFUSE_VIRTUAL +#if CONFIG_EFUSE_FPGA_TEST && !CONFIG_EFUSE_VIRTUAL TEST_ASSERT_EACH_EQUAL_HEX8(0, rd_key, key_size); -#endif // CONFIG_IDF_ENV_FPGA && ! CONFIG_EFUSE_VIRTUAL +#endif // CONFIG_EFUSE_FPGA_TEST && ! CONFIG_EFUSE_VIRTUAL } else { TEST_ASSERT_EQUAL_HEX8_ARRAY(wr_key, rd_key, key_size); } @@ -106,7 +106,7 @@ void test_write_key(esp_efuse_block_t num_key, esp_efuse_purpose_t purpose) { printf("EFUSE_BLK_KEY%d, purpose=%d ... OK\n", id, purpose); } -#ifndef CONFIG_IDF_ENV_FPGA +#ifndef CONFIG_EFUSE_FPGA_TEST TEST_CASE("Test esp_efuse_write_key for virt mode", "[efuse]") { uint8_t rd_key[32] = { 0xEE }; @@ -135,7 +135,7 @@ TEST_CASE("Test esp_efuse_write_key for virt mode", "[efuse]") esp_efuse_utility_debug_dump_blocks(); } } -#endif // not CONFIG_IDF_ENV_FPGA +#endif // not CONFIG_EFUSE_FPGA_TEST TEST_CASE("Test 1 esp_efuse_write_key for FPGA", "[efuse]") { @@ -151,7 +151,7 @@ TEST_CASE("Test 1 esp_efuse_write_key for FPGA", "[efuse]") esp_efuse_utility_debug_dump_blocks(); TEST_ASSERT_FALSE(esp_efuse_key_block_unused(EFUSE_BLK_KEY0)); -#ifdef CONFIG_IDF_ENV_FPGA +#ifdef CONFIG_EFUSE_FPGA_TEST TEST_ASSERT_TRUE(esp_efuse_block_is_empty(EFUSE_BLK_KEY0)); #else TEST_ASSERT_FALSE(esp_efuse_block_is_empty(EFUSE_BLK_KEY0)); @@ -195,7 +195,7 @@ TEST_CASE("Test 3 esp_efuse_write_key for FPGA", "[efuse]") esp_efuse_utility_debug_dump_blocks(); TEST_ASSERT_FALSE(esp_efuse_key_block_unused(EFUSE_BLK_KEY0)); -#ifdef CONFIG_IDF_ENV_FPGA +#ifdef CONFIG_EFUSE_FPGA_TEST TEST_ASSERT_TRUE(esp_efuse_block_is_empty(EFUSE_BLK_KEY0)); #else TEST_ASSERT_FALSE(esp_efuse_block_is_empty(EFUSE_BLK_KEY0)); @@ -281,11 +281,11 @@ TEST_CASE("Test esp_efuse_write_keys for returned errors", "[efuse]") esp_efuse_utility_debug_dump_blocks(); TEST_ASSERT_FALSE(esp_efuse_key_block_unused(EFUSE_BLK_KEY0)); -#ifdef CONFIG_IDF_ENV_FPGA +#ifdef CONFIG_EFUSE_FPGA_TEST TEST_ASSERT_TRUE(esp_efuse_block_is_empty(EFUSE_BLK_KEY0)); #else TEST_ASSERT_FALSE(esp_efuse_block_is_empty(EFUSE_BLK_KEY0)); #endif } -#endif // CONFIG_EFUSE_VIRTUAL || CONFIG_IDF_ENV_FPGA +#endif // CONFIG_EFUSE_VIRTUAL || CONFIG_EFUSE_FPGA_TEST diff --git a/components/efuse/test_apps/main/test_efuse.c b/components/efuse/test_apps/main/test_efuse.c index 3b4db06d76..1075b3de08 100644 --- a/components/efuse/test_apps/main/test_efuse.c +++ b/components/efuse/test_apps/main/test_efuse.c @@ -824,7 +824,7 @@ TEST_CASE("Check a case when ESP_ERR_DAMAGED_READING occurs during reading efuse } #endif // if not CONFIG_FREERTOS_UNICORE -#ifdef CONFIG_IDF_ENV_FPGA +#ifdef CONFIG_EFUSE_FPGA_TEST TEST_CASE("Test a real write (FPGA)", "[efuse]") { ESP_LOGI(TAG, "1. Write MAC address"); @@ -859,7 +859,7 @@ TEST_CASE("Test a real write (FPGA)", "[efuse]") TEST_ASSERT_EQUAL_INT(i + 1, read_sec_version); } } -#endif // CONFIG_IDF_ENV_FPGA +#endif // CONFIG_EFUSE_FPGA_TEST TEST_CASE("Test chip_ver_pkg APIs return the same value", "[efuse]") { diff --git a/components/efuse/test_apps/main/with_key_purposes/test_efuse.c b/components/efuse/test_apps/main/with_key_purposes/test_efuse.c index 4217a903c9..0f276d9e52 100644 --- a/components/efuse/test_apps/main/with_key_purposes/test_efuse.c +++ b/components/efuse/test_apps/main/with_key_purposes/test_efuse.c @@ -84,7 +84,7 @@ TEST_CASE("Test a write/read protection", "[efuse]") } #endif // CONFIG_EFUSE_VIRTUAL -#ifdef CONFIG_IDF_ENV_FPGA +#ifdef CONFIG_EFUSE_FPGA_TEST TEST_CASE("Test a real write (FPGA)2", "[efuse]") { esp_efuse_utility_debug_dump_blocks(); @@ -113,9 +113,9 @@ TEST_CASE("Test a real write (FPGA)2", "[efuse]") #endif // CONFIG_EFUSE_VIRTUAL esp_efuse_utility_debug_dump_blocks(); } -#endif // CONFIG_IDF_ENV_FPGA +#endif // CONFIG_EFUSE_FPGA_TEST -#if CONFIG_IDF_ENV_FPGA || CONFIG_EFUSE_VIRTUAL +#if CONFIG_EFUSE_FPGA_TEST || CONFIG_EFUSE_VIRTUAL TEST_CASE("Test writing order is BLK_MAX->BLK0", "[efuse]") { uint8_t new_key[32] = {33, 1, 2, 3, 4, 5, 6, 7, 8, 9, @@ -191,4 +191,4 @@ TEST_CASE("Test reading inside of batch mode in a nested way", "[efuse]") esp_efuse_utility_debug_dump_blocks(); } -#endif // CONFIG_IDF_ENV_FPGA || CONFIG_EFUSE_VIRTUAL +#endif // CONFIG_EFUSE_FPGA_TEST || CONFIG_EFUSE_VIRTUAL diff --git a/components/efuse/test_apps/main/with_key_purposes/test_efuse_keys.c b/components/efuse/test_apps/main/with_key_purposes/test_efuse_keys.c index f4bdad6431..9fc3113a9a 100644 --- a/components/efuse/test_apps/main/with_key_purposes/test_efuse_keys.c +++ b/components/efuse/test_apps/main/with_key_purposes/test_efuse_keys.c @@ -49,16 +49,16 @@ TEST_CASE("Test keys and purposes, rd, wr, wr_key_purposes are in the initial st #endif // CONFIG_EFUSE_VIRTUAL // If using efuse is real, then turn off writing tests. -#if CONFIG_EFUSE_VIRTUAL || CONFIG_IDF_ENV_FPGA +#if CONFIG_EFUSE_VIRTUAL || CONFIG_EFUSE_FPGA_TEST static esp_err_t s_check_key(esp_efuse_block_t num_key, void* wr_key) { uint8_t rd_key[32] = { 0xEE }; esp_efuse_purpose_t purpose = esp_efuse_get_key_purpose(num_key); TEST_ESP_OK(esp_efuse_read_field_blob(esp_efuse_get_key(num_key), &rd_key, sizeof(rd_key) * 8)); -#ifndef CONFIG_IDF_ENV_FPGA +#ifndef CONFIG_EFUSE_FPGA_TEST TEST_ASSERT_EQUAL_HEX8_ARRAY(wr_key, rd_key, sizeof(wr_key)); -#endif // not CONFIG_IDF_ENV_FPGA +#endif // not CONFIG_EFUSE_FPGA_TEST TEST_ASSERT_TRUE(esp_efuse_get_key_dis_write(num_key)); if (purpose == ESP_EFUSE_KEY_PURPOSE_XTS_AES_128_KEY || @@ -71,9 +71,9 @@ static esp_err_t s_check_key(esp_efuse_block_t num_key, void* wr_key) purpose == ESP_EFUSE_KEY_PURPOSE_HMAC_DOWN_DIGITAL_SIGNATURE || purpose == ESP_EFUSE_KEY_PURPOSE_HMAC_UP) { TEST_ASSERT_TRUE(esp_efuse_get_key_dis_read(num_key)); -#if CONFIG_IDF_ENV_FPGA && !CONFIG_EFUSE_VIRTUAL +#if CONFIG_EFUSE_FPGA_TEST && !CONFIG_EFUSE_VIRTUAL TEST_ASSERT_EACH_EQUAL_HEX8(0, rd_key, sizeof(rd_key)); -#endif // CONFIG_IDF_ENV_FPGA && ! CONFIG_EFUSE_VIRTUAL +#endif // CONFIG_EFUSE_FPGA_TEST && ! CONFIG_EFUSE_VIRTUAL } else { TEST_ASSERT_FALSE(esp_efuse_get_key_dis_read(num_key)); TEST_ASSERT_EQUAL_HEX8_ARRAY(wr_key, rd_key, sizeof(wr_key)); @@ -108,7 +108,7 @@ void test_write_key(esp_efuse_block_t num_key, esp_efuse_purpose_t purpose) { printf("EFUSE_BLK_KEY%d, purpose=%d ... OK\n", id, purpose); } -#ifndef CONFIG_IDF_ENV_FPGA +#ifndef CONFIG_EFUSE_FPGA_TEST TEST_CASE("Test esp_efuse_write_key for virt mode", "[efuse]") { uint8_t rd_key[32] = { 0xEE }; @@ -137,7 +137,7 @@ TEST_CASE("Test esp_efuse_write_key for virt mode", "[efuse]") esp_efuse_utility_debug_dump_blocks(); } } -#endif // not CONFIG_IDF_ENV_FPGA +#endif // not CONFIG_EFUSE_FPGA_TEST TEST_CASE("Test 1 esp_efuse_write_key for FPGA", "[efuse]") { @@ -372,7 +372,7 @@ TEST_CASE("Test set_write_protect_of_digest_revoke", "[efuse]") TEST_ESP_OK(esp_efuse_set_digest_revoke(1)); TEST_ESP_OK(esp_efuse_set_digest_revoke(2)); -#if CONFIG_IDF_ENV_FPGA && !CONFIG_EFUSE_VIRTUAL +#if CONFIG_EFUSE_FPGA_TEST && !CONFIG_EFUSE_VIRTUAL // the write protection bits are set and the revocation bits will not be changed. TEST_ASSERT_FALSE(esp_efuse_get_digest_revoke(0)); TEST_ASSERT_FALSE(esp_efuse_get_digest_revoke(1)); @@ -381,8 +381,8 @@ TEST_CASE("Test set_write_protect_of_digest_revoke", "[efuse]") TEST_ASSERT_TRUE(esp_efuse_get_digest_revoke(0)); TEST_ASSERT_TRUE(esp_efuse_get_digest_revoke(1)); TEST_ASSERT_TRUE(esp_efuse_get_digest_revoke(2)); -#endif // CONFIG_IDF_ENV_FPGA && !CONFIG_EFUSE_VIRTUAL +#endif // CONFIG_EFUSE_FPGA_TEST && !CONFIG_EFUSE_VIRTUAL } #endif // SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY -#endif // CONFIG_EFUSE_VIRTUAL || CONFIG_IDF_ENV_FPGA +#endif // CONFIG_EFUSE_VIRTUAL || CONFIG_EFUSE_FPGA_TEST