mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #11825 from rajkan01/feature-baremetal-greentea-storage
Bare metal green tea test for storage componentpull/11870/head
commit
dd753abcb8
|
|
@ -13,6 +13,9 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||
#error [NOT_SUPPORTED] filesystem test cases require a RTOS to run
|
||||
#else
|
||||
|
||||
#include "mbed.h"
|
||||
#include "greentea-client/test_env.h"
|
||||
|
|
@ -207,3 +210,4 @@ int main()
|
|||
{
|
||||
return !Harness::run(specification);
|
||||
}
|
||||
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||
|
|
|
|||
|
|
@ -308,6 +308,7 @@ end:
|
|||
delete[] write_block;
|
||||
}
|
||||
|
||||
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||
static void test_thread_job()
|
||||
{
|
||||
static int thread_num = 0;
|
||||
|
|
@ -392,8 +393,8 @@ void test_multi_threads()
|
|||
|
||||
delete[] bd_thread;
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
void test_erase_functionality()
|
||||
{
|
||||
|
|
@ -727,7 +728,9 @@ typedef struct {
|
|||
template_case_t template_cases[] = {
|
||||
{"Testing Init block device", test_init_bd, greentea_failure_handler},
|
||||
{"Testing read write random blocks", test_random_program_read_erase, greentea_failure_handler},
|
||||
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||
{"Testing multi threads erase program read", test_multi_threads, greentea_failure_handler},
|
||||
#endif
|
||||
{"Testing contiguous erase, write and read", test_contiguous_erase_write_read, greentea_failure_handler},
|
||||
{"Testing BlockDevice erase functionality", test_erase_functionality, greentea_failure_handler},
|
||||
{"Testing program read small data sizes", test_program_read_small_data_sizes, greentea_failure_handler},
|
||||
|
|
|
|||
|
|
@ -15,6 +15,9 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||
#error [NOT_SUPPORTED] Kvstore API test cases require a RTOS to run
|
||||
#else
|
||||
|
||||
#include "rtos/Thread.h"
|
||||
#include "mbed_trace.h"
|
||||
|
|
@ -522,3 +525,4 @@ int main()
|
|||
}
|
||||
|
||||
#endif // !defined(TARGET_K64F) && !defined(TARGET_ARM_FM)
|
||||
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||
#error [NOT_SUPPORTED] Kvstore API test cases require a RTOS to run
|
||||
#else
|
||||
|
||||
#include "SecureStore.h"
|
||||
#include "TDBStore.h"
|
||||
|
|
@ -857,3 +860,4 @@ int main()
|
|||
}
|
||||
|
||||
#endif // !defined(TARGET_K64F) && !defined(TARGET_ARM_FM)
|
||||
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#if !defined(MBED_CONF_RTOS_PRESENT)
|
||||
#error [NOT_SUPPORTED] Kvstore API test cases require a RTOS to run
|
||||
#else
|
||||
|
||||
#include "SecureStore.h"
|
||||
#include "TDBStore.h"
|
||||
|
|
@ -860,3 +863,4 @@ int main()
|
|||
}
|
||||
|
||||
#endif // !defined(TARGET_K64F) && !defined(TARGET_ARM_FM)
|
||||
#endif // !defined(MBED_CONF_RTOS_PRESENT)
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||
#include "Thread.h"
|
||||
#endif
|
||||
#include "mbed_error.h"
|
||||
#include "greentea-client/test_env.h"
|
||||
#include "unity/unity.h"
|
||||
|
|
@ -33,10 +35,13 @@ static size_t actual_size = 0;
|
|||
static const size_t buffer_size = 20;
|
||||
static const int num_of_threads = 3;
|
||||
static const char num_of_keys = 3;
|
||||
|
||||
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||
/* Forked 3 threads plus misc, so minimum (4 * OS_STACK_SIZE) heap are required. */
|
||||
static const int heap_alloc_threshold_size = 4 * OS_STACK_SIZE;
|
||||
|
||||
#else
|
||||
/* Bare metal does not require memory for threads, so use just minimum for test */
|
||||
static const int heap_alloc_threshold_size = MBED_CONF_TARGET_BOOT_STACK_SIZE;
|
||||
#endif
|
||||
static const char *keys[] = {"key1", "key2", "key3"};
|
||||
|
||||
static int init_res = MBED_ERROR_NOT_READY;
|
||||
|
|
@ -144,6 +149,7 @@ static void test_thread_set(char *th_key)
|
|||
//get several keys multithreaded
|
||||
static void set_several_keys_multithreaded()
|
||||
{
|
||||
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||
TEST_SKIP_UNLESS(!init_res);
|
||||
rtos::Thread kvstore_thread[num_of_threads];
|
||||
osStatus threadStatus;
|
||||
|
|
@ -169,6 +175,7 @@ static void set_several_keys_multithreaded()
|
|||
res = kv_remove(keys[i]);
|
||||
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//set key "write once" and try to set it again
|
||||
|
|
@ -464,6 +471,7 @@ static void test_thread_get(const void *th_key)
|
|||
//get several keys multithreaded
|
||||
static void get_several_keys_multithreaded()
|
||||
{
|
||||
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||
TEST_SKIP_UNLESS(!init_res);
|
||||
int i = 0, res = 0;
|
||||
rtos::Thread kvstore_thread[num_of_threads];
|
||||
|
|
@ -489,6 +497,7 @@ static void get_several_keys_multithreaded()
|
|||
res = kv_remove(keys[i]);
|
||||
TEST_ASSERT_EQUAL_ERROR_CODE(MBED_SUCCESS, res);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*----------------remove()------------------*/
|
||||
|
|
@ -924,7 +933,9 @@ Case cases[] = {
|
|||
Case("set_buffer_null_size_not_zero", set_buffer_null_size_not_zero, greentea_failure_handler),
|
||||
Case("set_buffer_size_is_zero", set_buffer_size_is_zero, greentea_failure_handler),
|
||||
Case("set_same_key_several_time", set_same_key_several_time, greentea_failure_handler),
|
||||
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||
Case("set_several_keys_multithreaded", set_several_keys_multithreaded, greentea_failure_handler),
|
||||
#endif
|
||||
Case("set_write_once_flag_try_set_twice", set_write_once_flag_try_set_twice, greentea_failure_handler),
|
||||
Case("set_write_once_flag_try_remove", set_write_once_flag_try_remove, greentea_failure_handler),
|
||||
Case("set_key_value_one_byte_size", set_key_value_one_byte_size, greentea_failure_handler),
|
||||
|
|
@ -944,8 +955,9 @@ Case cases[] = {
|
|||
Case("get_non_existing_key", get_non_existing_key, greentea_failure_handler),
|
||||
Case("get_removed_key", get_removed_key, greentea_failure_handler),
|
||||
Case("get_key_that_was_set_twice", get_key_that_was_set_twice, greentea_failure_handler),
|
||||
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||
Case("get_several_keys_multithreaded", get_several_keys_multithreaded, greentea_failure_handler),
|
||||
|
||||
#endif
|
||||
Case("remove_key_null", remove_key_null, greentea_failure_handler),
|
||||
Case("remove_key_length_exceeds_max", remove_key_length_exceeds_max, greentea_failure_handler),
|
||||
Case("remove_non_existing_key", remove_non_existing_key, greentea_failure_handler),
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
#include "nvstore.h"
|
||||
#ifdef MBED_CONF_RTOS_PRESENT
|
||||
#include "Thread.h"
|
||||
|
|
@ -396,6 +397,7 @@ clean:
|
|||
delete[] nvstore_testing_buf_get;
|
||||
}
|
||||
|
||||
#ifdef MBED_CONF_RTOS_PRESENT
|
||||
static void thread_test_check_key(uint16_t key)
|
||||
{
|
||||
uint8_t get_buff[thr_test_max_data_size];
|
||||
|
|
@ -422,7 +424,6 @@ static void thread_test_check_key(uint16_t key)
|
|||
|
||||
}
|
||||
|
||||
#ifdef MBED_CONF_RTOS_PRESENT
|
||||
static void thread_test_worker()
|
||||
{
|
||||
int ret;
|
||||
|
|
@ -444,11 +445,9 @@ static void thread_test_worker()
|
|||
wait_ms(1);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void nvstore_multi_thread_test()
|
||||
{
|
||||
#ifdef MBED_CONF_RTOS_PRESENT
|
||||
int i, result;
|
||||
uint16_t size;
|
||||
uint16_t key;
|
||||
|
|
@ -562,8 +561,6 @@ clean:
|
|||
}
|
||||
|
||||
nvstore.reset();
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -578,7 +575,6 @@ static void race_test_worker(void *buf)
|
|||
|
||||
static void nvstore_race_test()
|
||||
{
|
||||
#ifdef MBED_CONF_RTOS_PRESENT
|
||||
int i;
|
||||
uint16_t initial_buf_size;
|
||||
int ret;
|
||||
|
|
@ -668,8 +664,8 @@ clean:
|
|||
delete[] buffs[i];
|
||||
}
|
||||
delete[] get_buff;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
|
@ -681,8 +677,10 @@ utest::v1::status_t greentea_failure_handler(const Case *const source, const fai
|
|||
|
||||
Case cases[] = {
|
||||
Case("NVStore: Basic functionality", nvstore_basic_functionality_test, greentea_failure_handler),
|
||||
#if defined(MBED_CONF_RTOS_PRESENT)
|
||||
Case("NVStore: Race test", nvstore_race_test, greentea_failure_handler),
|
||||
Case("NVStore: Multiple thread test", nvstore_multi_thread_test, greentea_failure_handler),
|
||||
#endif
|
||||
};
|
||||
|
||||
utest::v1::status_t greentea_test_setup(const size_t number_of_cases)
|
||||
|
|
|
|||
Loading…
Reference in New Issue