diff --git a/components/esp_driver_cam/test_apps/csi/main/test_csi_driver.c b/components/esp_driver_cam/test_apps/csi/main/test_csi_driver.c index 7b0e5db80e..e7b42583ce 100644 --- a/components/esp_driver_cam/test_apps/csi/main/test_csi_driver.c +++ b/components/esp_driver_cam/test_apps/csi/main/test_csi_driver.c @@ -34,3 +34,30 @@ TEST_CASE("TEST CSI driver allocation", "[csi]") TEST_ASSERT_EQUAL((csi_config.h_res * csi_config.v_res * 2), bk_buffer_len); // out type RGB565 using 2 byte / pixel TEST_ESP_OK(esp_cam_del_ctlr(handle)); } + +TEST_CASE("TEST CSI driver no backup buffer usage", "[csi]") +{ + esp_cam_ctlr_csi_config_t csi_config = { + .ctlr_id = 0, + .h_res = 800, + .v_res = 640, + .lane_bit_rate_mbps = 200, + .input_data_color_type = MIPI_CSI_COLOR_RAW8, + .output_data_color_type = MIPI_CSI_COLOR_RGB565, + .data_lane_num = 2, + .byte_swap_en = false, + .queue_items = 1, + .bk_buffer_dis = 1, + }; + esp_cam_ctlr_handle_t handle = NULL; + TEST_ESP_OK(esp_cam_new_csi_ctlr(&csi_config, &handle)); + TEST_ESP_ERR(ESP_ERR_NOT_FOUND, esp_cam_new_csi_ctlr(&csi_config, &handle)); + + uint8_t *bk_buffer = NULL; + size_t bk_buffer_len = 0; + TEST_ESP_ERR(ESP_ERR_INVALID_STATE, esp_cam_ctlr_get_frame_buffer(handle, 1, (const void **)&bk_buffer)); + TEST_ESP_ERR(ESP_ERR_INVALID_STATE, esp_cam_ctlr_get_frame_buffer_len(handle, &bk_buffer_len)); + TEST_ASSERT_NULL(bk_buffer); + TEST_ASSERT_EQUAL(0, bk_buffer_len); + TEST_ESP_OK(esp_cam_del_ctlr(handle)); +}