Skip to content
Snippets Groups Projects
Commit f3e22890 authored by Basile Desloges's avatar Basile Desloges
Browse files

[eacsl] Add concurrency tests

parent ead7afc1
No related branches found
No related tags found
No related merge requests found
Showing
with 5569 additions and 1 deletion
...@@ -180,6 +180,7 @@ ifeq (@MAY_RUN_TESTS@,yes) ...@@ -180,6 +180,7 @@ ifeq (@MAY_RUN_TESTS@,yes)
PLUGIN_TESTS_DIRS := \ PLUGIN_TESTS_DIRS := \
examples \ examples \
bts \ bts \
concurrency \
constructs \ constructs \
arith \ arith \
memory \ memory \
...@@ -354,7 +355,9 @@ EACSL_TEST_FILES = \ ...@@ -354,7 +355,9 @@ EACSL_TEST_FILES = \
tests/temporal/test_config_dev \ tests/temporal/test_config_dev \
tests/format/test_config \ tests/format/test_config \
tests/format/test_config_dev \ tests/format/test_config_dev \
tests/E_ACSL_test.ml \ tests/concurrency/test_config \
tests/concurrency/test_config_dev \
tests/E_ACSL_test.ml
EACSL_TESTS_C_FILES = \ EACSL_TESTS_C_FILES = \
$(foreach dir, $(addprefix tests/,$(PLUGIN_TESTS_DIRS)), \ $(foreach dir, $(addprefix tests/,$(PLUGIN_TESTS_DIRS)), \
......
...@@ -185,6 +185,8 @@ tests/test_config.in: .ignore ...@@ -185,6 +185,8 @@ tests/test_config.in: .ignore
tests/test_config_dev.in: .ignore tests/test_config_dev.in: .ignore
tests/builtin/test_config: .ignore tests/builtin/test_config: .ignore
tests/builtin/test_config_dev: .ignore tests/builtin/test_config_dev: .ignore
tests/concurrency/test_config: .ignore
tests/concurrency/test_config_dev: .ignore
tests/format/test_config: .ignore tests/format/test_config: .ignore
tests/format/test_config_dev: .ignore tests/format/test_config_dev: .ignore
tests/full-mtracking/test_config: .ignore tests/full-mtracking/test_config: .ignore
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
[e-acsl] beginning translation.
[e-acsl] Due to the large number of function pointers in concurrent
code, the memory tracking dataflow analysis is deactivated
when activating the concurrency support of E-ACSL.
[e-acsl] Warning: annotating undefined function `pthread_cond_broadcast':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `pthread_cond_init':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `pthread_cond_wait':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `pthread_create':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `pthread_join':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `pthread_mutex_init':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `pthread_mutex_lock':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `pthread_mutex_unlock':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `perror':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `exit':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `usleep':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] FRAMAC_SHARE/libc/unistd.h:1116: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/stdlib.h:470: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/stdlib.h:472: Warning:
E-ACSL construct `abnormal termination case in behavior'
is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/stdio.h:484: Warning:
E-ACSL construct `predicates with labels' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/stdio.h:483: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:312: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:294: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:278: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:247: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:252: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:255: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:225: Warning:
E-ACSL construct `\valid_function' is not yet supported. Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:223: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:203: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:186: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:173: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] translation done in project "e-acsl".
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:279: Warning:
function __e_acsl_assert_register_ulong: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:279: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:285: Warning:
function __e_acsl_assert_register_ptr: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:285: Warning:
function __e_acsl_assert_register_ulong: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:285: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:286: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:287: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:288: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:289: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:285: Warning:
function __e_acsl_assert, behavior blocking: precondition got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:187: Warning:
function __e_acsl_assert_register_ulong: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:187: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:191: Warning:
function __e_acsl_assert_register_ulong: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:191: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:223: Warning:
function __e_acsl_assert_register_ulong: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:223: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:226: Warning:
function __e_acsl_assert_register_ptr: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:226: Warning:
function __e_acsl_assert_register_ulong: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:226: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:231: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:231: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:231: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:230: Warning:
function __e_acsl_assert, behavior blocking: precondition got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:223: Warning:
function __e_acsl_assert, behavior blocking: precondition got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:226: Warning:
function __e_acsl_assert, behavior blocking: precondition got status unknown.
[kernel:annot:missing-spec] parallel_threads.c:121: Warning:
Neither code nor specification for function pthread_mutex_trylock, generating default assigns from the prototype
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:313: Warning:
function __e_acsl_assert_register_ulong: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:313: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:316: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/unistd.h:1119: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[e-acsl] beginning translation.
[e-acsl] Due to the large number of function pointers in concurrent
code, the memory tracking dataflow analysis is deactivated
when activating the concurrency support of E-ACSL.
[e-acsl] Warning: annotating undefined function `pthread_create':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] Warning: annotating undefined function `pthread_join':
the generated program may miss memory instrumentation
if there are memory-related annotations.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:247: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:252: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:255: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:225: Warning:
E-ACSL construct `\valid_function' is not yet supported. Ignoring annotation.
[e-acsl] FRAMAC_SHARE/libc/pthread.h:223: Warning:
E-ACSL construct `assigns clause in behavior' is not yet supported.
Ignoring annotation.
[e-acsl] translation done in project "e-acsl".
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:223: Warning:
function __e_acsl_assert_register_ulong: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:223: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:226: Warning:
function __e_acsl_assert_register_ptr: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:226: Warning:
function __e_acsl_assert_register_ulong: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:226: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:231: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:231: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:231: Warning:
function __e_acsl_assert_register_int: precondition data->values == \null ||
\valid(data->values) got status unknown.
[eva:alarm] FRAMAC_SHARE/libc/pthread.h:230: Warning:
function __e_acsl_assert, behavior blocking: precondition got status unknown.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
STDOPT: #"-e-acsl-concurrency"
MACRO: ROOT_EACSL_GCC_OPTS_EXT --concurrency
/* run.config, run.config_dev
COMMENT: This test is identical to `parallel_thread.c` but with RTL debug code
COMMENT: activated.
MACRO: ROOT_EACSL_GCC_OPTS_EXT --rt-debug --rt-verbose --concurrency
COMMENT: Filter the addresses of the output so that the test is deterministic.
MACRO: ROOT_EACSL_EXEC_FILTER @SEDCMD@ -e s_0x[0-9a-f-]*_0x0000-0000-0000_g | @SEDCMD@ -e s_Offset:\s[0-9-]*_Offset:xxxxx_g | @SEDCMD@ -e s/[0-9]*\skB/xxxkB/g
*/
// Include existing test
#include "parallel_threads.c"
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment