diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-08-16 18:40:55 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-08-17 19:01:10 +0200 |
commit | 52c8ac7b694cf7aca4a6f69d7e5c9323042b8057 (patch) | |
tree | 14ed34ccd0f7842e4478cb20d79f3cc90ef40c1c /testsuites | |
parent | record: Detect also large overflows (diff) | |
download | rtems-52c8ac7b694cf7aca4a6f69d7e5c9323042b8057.tar.bz2 |
record: Improve overflow handling
In case of a ring buffer overflow, the rtems_record_drain() will push
the complete ring buffer content to the client. While the items are
processed by the client, new items may overwrite some items being
processed. The overwritten items can be detected in the following
iteration once the next tail/head information is pushed to the client.
Diffstat (limited to 'testsuites')
-rw-r--r-- | testsuites/libtests/record02/init.c | 1 | ||||
-rw-r--r-- | testsuites/libtests/record02/record02.scn | 146 |
2 files changed, 75 insertions, 72 deletions
diff --git a/testsuites/libtests/record02/init.c b/testsuites/libtests/record02/init.c index 5aeeb18cd9..f1c93f7df8 100644 --- a/testsuites/libtests/record02/init.c +++ b/testsuites/libtests/record02/init.c @@ -105,6 +105,7 @@ static void Init(rtems_task_argument arg) cs = rtems_record_client_run(&ctx->client, &header, sizeof(header)); rtems_test_assert(cs == RTEMS_RECORD_CLIENT_SUCCESS); rtems_record_drain(drain_visitor, ctx); + rtems_record_client_destroy(&ctx->client); TEST_END(); rtems_test_exit(0); diff --git a/testsuites/libtests/record02/record02.scn b/testsuites/libtests/record02/record02.scn index 487c601caf..4535cbbdca 100644 --- a/testsuites/libtests/record02/record02.scn +++ b/testsuites/libtests/record02/record02.scn @@ -1,82 +1,84 @@ *** BEGIN OF TEST RECORD 2 *** -*** TEST VERSION: 5.0.0.f0ae613ba72bc4b95797e2482c4bd0fa5546331d +*** TEST VERSION: 5.0.0.b2c060a507712f6043d7c7f0cf7b50661f25d8c3 *** TEST STATE: EXPECTED-PASS -*** TEST BUILD: RTEMS_NETWORKING -*** TEST TOOLS: 7.4.0 20181206 (RTEMS 5, RSB 376edee1c734fb412b731a7d9e57757dd4cc5f07, Newlib dc6e94551f09d3a983afd571478d63a09d6f66fa) -*:0:VERSION:1 +*** TEST BUILD: RTEMS_NETWORKING RTEMS_POSIX_API +*** TEST TOOLS: 7.4.1 20190514 (RTEMS 5, RSB 639eed3c77c830a2ac9f36baca21919f8b7bf1be, Newlib 5c2a3661c) +*:0:VERSION:5 *:0:PROCESSOR_MAXIMUM:0 -*:0:COUNT:80 +*:0:PER_CPU_COUNT:80 *:0:FREQUENCY:f4240 *:0:PROCESSOR:0 -*:0:TAIL:0 -*:0:HEAD:44 +*:0:PER_CPU_TAIL:0 +*:0:PER_CPU_HEAD:46 *:0:THREAD_CREATE:9010001 +*:0:THREAD_NAME:49494949 *:0:THREAD_START:9010001 -*:0:UPTIME_LOW:9a240 +*:0:UPTIME_LOW:852b4 *:0:UPTIME_HIGH:1 -1.000537999:0:THREAD_CREATE:a010001 -1.000843999:0:THREAD_START:a010001 -1.003692999:0:THREAD_BEGIN:a010001 -1.005548999:0:THREAD_SWITCH_OUT:a010001 -1.005548999:0:THREAD_STACK_CURRENT:d48 -1.005548999:0:THREAD_SWITCH_IN:9010001 -1.005645999:0:THREAD_BEGIN:9010001 -1.013832999:0:THREAD_SWITCH_OUT:9010001 -1.013832999:0:THREAD_STACK_CURRENT:d38 -1.013832999:0:THREAD_SWITCH_IN:a010001 -1.014077999:0:THREAD_SWITCH_OUT:a010001 -1.014077999:0:THREAD_STACK_CURRENT:d48 -1.014077999:0:THREAD_SWITCH_IN:9010001 -1.023821999:0:THREAD_SWITCH_OUT:9010001 -1.023821999:0:THREAD_STACK_CURRENT:d38 -1.023821999:0:THREAD_SWITCH_IN:a010001 -1.024065999:0:THREAD_SWITCH_OUT:a010001 -1.024065999:0:THREAD_STACK_CURRENT:d48 -1.024065999:0:THREAD_SWITCH_IN:9010001 -1.033821999:0:THREAD_SWITCH_OUT:9010001 -1.033821999:0:THREAD_STACK_CURRENT:d38 -1.033821999:0:THREAD_SWITCH_IN:a010001 -1.034065999:0:THREAD_SWITCH_OUT:a010001 -1.034065999:0:THREAD_STACK_CURRENT:d48 -1.034065999:0:THREAD_SWITCH_IN:9010001 -1.043821999:0:THREAD_SWITCH_OUT:9010001 -1.043821999:0:THREAD_STACK_CURRENT:d38 -1.043821999:0:THREAD_SWITCH_IN:a010001 -1.044065999:0:THREAD_SWITCH_OUT:a010001 -1.044065999:0:THREAD_STACK_CURRENT:d48 -1.044065999:0:THREAD_SWITCH_IN:9010001 -1.053821999:0:THREAD_SWITCH_OUT:9010001 -1.053821999:0:THREAD_STACK_CURRENT:d38 -1.053821999:0:THREAD_SWITCH_IN:a010001 -1.054065999:0:THREAD_SWITCH_OUT:a010001 -1.054065999:0:THREAD_STACK_CURRENT:d48 -1.054065999:0:THREAD_SWITCH_IN:9010001 -1.063821999:0:THREAD_SWITCH_OUT:9010001 -1.063821999:0:THREAD_STACK_CURRENT:d38 -1.063821999:0:THREAD_SWITCH_IN:a010001 -1.064065999:0:THREAD_SWITCH_OUT:a010001 -1.064065999:0:THREAD_STACK_CURRENT:d48 -1.064065999:0:THREAD_SWITCH_IN:9010001 -1.073821999:0:THREAD_SWITCH_OUT:9010001 -1.073821999:0:THREAD_STACK_CURRENT:d38 -1.073821999:0:THREAD_SWITCH_IN:a010001 -1.074065999:0:THREAD_SWITCH_OUT:a010001 -1.074065999:0:THREAD_STACK_CURRENT:d48 -1.074065999:0:THREAD_SWITCH_IN:9010001 -1.083821999:0:THREAD_SWITCH_OUT:9010001 -1.083821999:0:THREAD_STACK_CURRENT:d38 -1.083821999:0:THREAD_SWITCH_IN:a010001 -1.084065999:0:THREAD_SWITCH_OUT:a010001 -1.084065999:0:THREAD_STACK_CURRENT:d48 -1.084065999:0:THREAD_SWITCH_IN:9010001 -1.093821999:0:THREAD_SWITCH_OUT:9010001 -1.093821999:0:THREAD_STACK_CURRENT:d38 -1.093821999:0:THREAD_SWITCH_IN:a010001 -1.094065999:0:THREAD_SWITCH_OUT:a010001 -1.094065999:0:THREAD_STACK_CURRENT:d48 -1.094065999:0:THREAD_SWITCH_IN:9010001 -1.103821999:0:THREAD_SWITCH_OUT:9010001 -1.103821999:0:THREAD_STACK_CURRENT:d38 -1.103821999:0:THREAD_SWITCH_IN:a010001 +1.000436999:0:THREAD_CREATE:a010001 +1.000436999:0:THREAD_NAME:55555555 +1.000627999:0:THREAD_START:a010001 +1.001891999:0:THREAD_BEGIN:a010001 +1.003466999:0:THREAD_SWITCH_OUT:a010001 +1.003466999:0:THREAD_STACK_CURRENT:d78 +1.003466999:0:THREAD_SWITCH_IN:9010001 +1.003533999:0:THREAD_BEGIN:9010001 +1.005078999:0:THREAD_SWITCH_OUT:9010001 +1.005078999:0:THREAD_STACK_CURRENT:d68 +1.005078999:0:THREAD_SWITCH_IN:a010001 +1.005218999:0:THREAD_SWITCH_OUT:a010001 +1.005218999:0:THREAD_STACK_CURRENT:d78 +1.005218999:0:THREAD_SWITCH_IN:9010001 +1.015067999:0:THREAD_SWITCH_OUT:9010001 +1.015067999:0:THREAD_STACK_CURRENT:d68 +1.015067999:0:THREAD_SWITCH_IN:a010001 +1.015207999:0:THREAD_SWITCH_OUT:a010001 +1.015207999:0:THREAD_STACK_CURRENT:d78 +1.015207999:0:THREAD_SWITCH_IN:9010001 +1.025067999:0:THREAD_SWITCH_OUT:9010001 +1.025067999:0:THREAD_STACK_CURRENT:d68 +1.025067999:0:THREAD_SWITCH_IN:a010001 +1.025207999:0:THREAD_SWITCH_OUT:a010001 +1.025207999:0:THREAD_STACK_CURRENT:d78 +1.025207999:0:THREAD_SWITCH_IN:9010001 +1.035067999:0:THREAD_SWITCH_OUT:9010001 +1.035067999:0:THREAD_STACK_CURRENT:d68 +1.035067999:0:THREAD_SWITCH_IN:a010001 +1.035207999:0:THREAD_SWITCH_OUT:a010001 +1.035207999:0:THREAD_STACK_CURRENT:d78 +1.035207999:0:THREAD_SWITCH_IN:9010001 +1.045067999:0:THREAD_SWITCH_OUT:9010001 +1.045067999:0:THREAD_STACK_CURRENT:d68 +1.045067999:0:THREAD_SWITCH_IN:a010001 +1.045207999:0:THREAD_SWITCH_OUT:a010001 +1.045207999:0:THREAD_STACK_CURRENT:d78 +1.045207999:0:THREAD_SWITCH_IN:9010001 +1.055067999:0:THREAD_SWITCH_OUT:9010001 +1.055067999:0:THREAD_STACK_CURRENT:d68 +1.055067999:0:THREAD_SWITCH_IN:a010001 +1.055207999:0:THREAD_SWITCH_OUT:a010001 +1.055207999:0:THREAD_STACK_CURRENT:d78 +1.055207999:0:THREAD_SWITCH_IN:9010001 +1.065067999:0:THREAD_SWITCH_OUT:9010001 +1.065067999:0:THREAD_STACK_CURRENT:d68 +1.065067999:0:THREAD_SWITCH_IN:a010001 +1.065207999:0:THREAD_SWITCH_OUT:a010001 +1.065207999:0:THREAD_STACK_CURRENT:d78 +1.065207999:0:THREAD_SWITCH_IN:9010001 +1.075067999:0:THREAD_SWITCH_OUT:9010001 +1.075067999:0:THREAD_STACK_CURRENT:d68 +1.075067999:0:THREAD_SWITCH_IN:a010001 +1.075207999:0:THREAD_SWITCH_OUT:a010001 +1.075207999:0:THREAD_STACK_CURRENT:d78 +1.075207999:0:THREAD_SWITCH_IN:9010001 +1.085067999:0:THREAD_SWITCH_OUT:9010001 +1.085067999:0:THREAD_STACK_CURRENT:d68 +1.085067999:0:THREAD_SWITCH_IN:a010001 +1.085207999:0:THREAD_SWITCH_OUT:a010001 +1.085207999:0:THREAD_STACK_CURRENT:d78 +1.085207999:0:THREAD_SWITCH_IN:9010001 +1.095067999:0:THREAD_SWITCH_OUT:9010001 +1.095067999:0:THREAD_STACK_CURRENT:d68 +1.095067999:0:THREAD_SWITCH_IN:a010001 *** END OF TEST RECORD 2 *** |