diff --git a/Makefile b/Makefile index 9bd6c09c37124287858bfa2b92926d5c3dfaca7b..077e549924b8f5aa008661d80e2f897c7d00eae2 100644 --- a/Makefile +++ b/Makefile @@ -170,12 +170,10 @@ force-reconfigure: # todo: adds bugs? # todo: adds crowbar? -# todo: adds dynamic? # todo: adds dynamic_plugin? # todo: adds fc_script # todo: adds make_run_script # todo: adds more_wp -# todo: adds pretty_printing: fixes tests/pretty_printing/ghost_parameters.c # todo: adds saveload # todo: adds value/numerors? (requires opam package mlgmpidl and system libraries for MPFR) # todo: adds verisec diff --git a/ptests/ptests.ml b/ptests/ptests.ml index 3735bdaad1e99df46d82f31321d33ab0339913ba..7cc8be13f10d51f357be5f3f5ffed59a5b8392fb 100644 --- a/ptests/ptests.ml +++ b/ptests/ptests.ml @@ -978,10 +978,10 @@ let get_macros cmd = Macros.add_list macros cmd.macros let contains_frama_c_binary_name = - Str.regexp "[^( ]*\\(toplevel\\|viewer\\|frama-c-gui\\|frama-c\\).*" + Str.regexp "\\([^( ]*\\(toplevel\\|viewer\\|frama-c-gui\\|frama-c\\)\\(\\.opt\\|\\.byte\\|\\.exe\\)?\\($\\|[ \t]\\)\\)" let frama_c_binary_name = - Str.regexp "\\([^ ]*\\(toplevel\\|viewer\\|frama-c-gui\\|frama-c\\)\\(\\.opt\\|\\.byte\\|\\.exe\\)?\\)" + Str.regexp "\\([^( ]*\\(toplevel\\|viewer\\|frama-c-gui\\|frama-c\\)\\(\\.opt\\|\\.byte\\|\\.exe\\)?\\)" let basic_command_string = fun command -> diff --git a/src/plugins/report/.gitignore b/src/plugins/report/.gitignore index 0c1cd282dd0ab82298b5854b22dc24b8f6cd8e8b..3a98458e917cbf63ae42a311989dbe7be4a5d56c 100644 --- a/src/plugins/report/.gitignore +++ b/src/plugins/report/.gitignore @@ -1,5 +1,4 @@ /configure /Makefile -/tests/ptests_config /tests/*/result /tests/**/dune diff --git a/src/plugins/report/tests/ptests_config b/src/plugins/report/tests/ptests_config new file mode 100644 index 0000000000000000000000000000000000000000..2af08cc747973c537e3aff87ee963b13852a0d95 --- /dev/null +++ b/src/plugins/report/tests/ptests_config @@ -0,0 +1 @@ +DEFAULT_SUITES= report diff --git a/tests/fc_script/main.c b/tests/fc_script/main.c index bc22ab8755cb229511540c6e520266175328e2ad..99e9a5a94e320b377ce9179da25d25cab2b6b3d9 100644 --- a/tests/fc_script/main.c +++ b/tests/fc_script/main.c @@ -1,11 +1,12 @@ /* run.config NOFRAMAC: testing frama-c-script, not frama-c itself + DEPS: for-find-fun2.c for-find-fun.c main2.c main3.c EXECNOW: LOG GNUmakefile LOG make_template.res LOG make_template.err PTESTS_TESTING= frama-c-script make-template . < %{dep:make_template.input} > make_template.res 2> make_template.err EXECNOW: LOG list_files.res LOG list_files.err frama-c-script list-files %{dep:list_files.json} > list_files.res 2> list_files.err EXECNOW: LOG flamegraph.html LOG flamegraph.res LOG flamegraph.err NOGUI=1 frama-c-script flamegraph %{dep:flamegraph.txt} . > flamegraph.res 2> flamegraph.err && rm -f flamegraph.svg EXECNOW: LOG find_fun1.res LOG find_fun1.err frama-c-script find-fun main2 . > find_fun1.res 2> find_fun1.err EXECNOW: LOG find_fun2.res LOG find_fun2.err frama-c-script find-fun main3 . > find_fun2.res 2> find_fun2.err - EXECNOW: LOG find_fun3.res LOG find_fun3.err frama-c-script find-fun false_positive .> find_fun3.res 2> find_fun3.err + EXECNOW: LOG find_fun3.res LOG find_fun3.err frama-c-script find-fun false_positive . > find_fun3.res 2> find_fun3.err */ void main() { diff --git a/tests/fc_script/oracle/list_files.res b/tests/fc_script/oracle/list_files.res index 6ccc70819c87975dce26bc0351408d27cceb1c0a..f6c507d3db5f90b302f072eeb507d76a7d4dc7d3 100644 --- a/tests/fc_script/oracle/list_files.res +++ b/tests/fc_script/oracle/list_files.res @@ -1,30 +1,10 @@ # Paths as seen by a makefile inside subdirectory '.frama-c': SRCS=\ -<<<<<<< HEAD -main.c \ -main2.c \ -main3.c \ -||||||| 362083a770 -tests/fc_script/main.c \ -tests/fc_script/main2.c \ -tests/fc_script/main3.c \ -======= -../tests/fc_script/main.c \ -../tests/fc_script/main2.c \ -../tests/fc_script/main3.c \ ->>>>>>> origin/master +../main.c \ +../main2.c \ +../main3.c \ -<<<<<<< HEAD -# Possible definition of main function in the following file(s): -main.c -main3.c -||||||| 362083a770 -# Possible definition of main function in the following file(s): -tests/fc_script/main.c -tests/fc_script/main3.c -======= # Possible definition of main function in the following file(s), as seen from '.frama-c': -../tests/fc_script/main.c -../tests/fc_script/main3.c ->>>>>>> origin/master +../main.c +../main3.c diff --git a/tests/saveload/basic.i b/tests/saveload/basic.i index bb4e52f0410d0d08bd9a5cc0789e5626120a78c8..e089eba7b07b5f0bad066c7fe781075c097106ea 100644 --- a/tests/saveload/basic.i +++ b/tests/saveload/basic.i @@ -1,15 +1,15 @@ /* run.config CMXS: @PTEST_NAME@ - EXECNOW: LOG basic_sav.res LOG basic_sav.err BIN basic.sav @frama-c@ -load-module %{dep:@PTEST_NAME@.cmxs} -eva @EVA_OPTIONS@ -out -input -deps ./@PTEST_DIR@/@PTEST_NAME@.i -save ./result/basic.sav > ./result/basic_sav.res 2> ./result/basic_sav.err - EXECNOW: LOG basic_sav.1.res LOG basic_sav.1.err BIN basic.1.sav ./bin/toplevel.opt -save ./result/basic.1.sav @PTEST_DIR@/@PTEST_NAME@.i -eva @EVA_OPTIONS@ -out -input -deps > ./result/basic_sav.1.res 2> ./result/basic_sav.1.err - STDOPT: +"-load ./result/basic.sav -eva @EVA_OPTIONS@ -out -input -deps -journal-disable" + EXECNOW: LOG @PTEST_NAME@_sav.res LOG @PTEST_NAME@_sav.err BIN @PTEST_NAME@.sav (@frama-c@ -load-module %{dep:@PTEST_NAME@.cmxs} -eva @EVA_OPTIONS@ -out -input -deps @PTEST_NAME@.i -save @PTEST_NAME@.sav) > @PTEST_NAME@_sav.res 2> @PTEST_NAME@_sav.err + EXECNOW: LOG @PTEST_NAME@_sav.1.res LOG @PTEST_NAME@_sav.1.err BIN @PTEST_NAME@.1.sav (@frama-c@ -save @PTEST_NAME@.1.sav @PTEST_NAME@.i -eva @EVA_OPTIONS@ -out -input -deps) > @PTEST_NAME@_sav.1.res 2> @PTEST_NAME@_sav.1.err + STDOPT: +"-load %{dep:@PTEST_NAME@.sav} -eva @EVA_OPTIONS@ -out -input -deps -journal-disable" CMD: @frama-c@ -load-module %{dep:@PTEST_NAME@.cmxs} - STDOPT: +"-load ./result/basic.1.sav -eva @EVA_OPTIONS@ -out -input -deps -journal-disable -print" - STDOPT: +"-load ./result/basic.1.sav -eva @EVA_OPTIONS@ -out -input -deps -journal-disable" + STDOPT: +"-load %{dep:@PTEST_NAME@.1.sav} -eva @EVA_OPTIONS@ -out -input -deps -journal-disable -print" + STDOPT: +"-load %{dep:@PTEST_NAME@.1.sav} -eva @EVA_OPTIONS@ -out -input -deps -journal-disable" CMXS: status - EXECNOW: LOG status_sav.res LOG status_sav.err BIN status.sav @frama-c@ -load-module status -save ./result/status.sav @PTEST_DIR@/@PTEST_NAME@.i > ./result/status_sav.res 2> ./result/status_sav.err - STDOPT: +"-load-module status -load ./result/status.sav" - STDOPT: +"-load ./result/status.sav" + EXECNOW: LOG status_sav.res LOG status_sav.err BIN status.sav (@frama-c@ -load-module status -save status.sav @PTEST_NAME@.i) > status_sav.res 2> status_sav.err + STDOPT: +"-load-module status.cmxs -load %{dep:status.sav}" + STDOPT: +"-load %{dep:status.sav}" */ int main() { diff --git a/tests/saveload/bool.c b/tests/saveload/bool.c index c79e10630fd9d80567c6184e2d4c606064678a04..ec0c20e2526dd3465ec5d25839cd17c853968d0d 100644 --- a/tests/saveload/bool.c +++ b/tests/saveload/bool.c @@ -1,7 +1,7 @@ /* run.config - EXECNOW: BIN bool.sav LOG bool_sav.res LOG bool_sav.err ./bin/toplevel.opt -save ./result/bool.sav -eva @EVA_OPTIONS@ ./bool.c > result/bool_sav.res 2> result/bool_sav.err - STDOPT: +"-load ./result/bool.sav -out -input -deps" - STDOPT: +"-load ./result/bool.sav -eva @EVA_OPTIONS@" + EXECNOW: BIN bool.sav LOG bool_sav.res LOG bool_sav.err (@frama-c@ -save bool.sav -eva @EVA_OPTIONS@ ./bool.c) > bool_sav.res 2> bool_sav.err + STDOPT: +"-load %{dep:bool.sav} -out -input -deps" + STDOPT: +"-load %{dep:bool.sav} -eva @EVA_OPTIONS@" */ #include "stdbool.h" diff --git a/tests/saveload/callbacks.i b/tests/saveload/callbacks.i index 8f63ff8bd4445ed03a4719b34ff365b1061dea0c..52a4623d0ff4cfcdc234b6104652d9c759b2b4b3 100644 --- a/tests/saveload/callbacks.i +++ b/tests/saveload/callbacks.i @@ -1,6 +1,6 @@ /* run.config - EXECNOW: LOG callbacks_initial.res LOG callbacks_initial.err BIN callbacks.sav ./bin/toplevel.opt callbacks.i -out -calldeps -eva-show-progress -main main1 -save ./result/callbacks.sav > ./result/callbacks_initial.res 2> ./result/callbacks_initial.err - STDOPT: +"-load ./result/callbacks.sav -main main2 -then -main main3" + EXECNOW: LOG @PTEST_NAME@_initial.res LOG @PTEST_NAME@_initial.err BIN @PTEST_NAME@.sav (@frama-c@ @PTEST_NAME@.i -out -calldeps -eva-show-progress -main main1 -save @PTEST_NAME@.sav) > @PTEST_NAME@_initial.res 2> @PTEST_NAME@_initial.err + STDOPT: +"-load %{dep:@PTEST_NAME@.sav} -main main2 -then -main main3" */ /* This tests whether the callbacks for callwise inout and from survive after diff --git a/tests/saveload/deps.i b/tests/saveload/deps.i index 5e95f55b41eed77400a2d9bd2ffeb8bc785954c7..df87623630029d882e46afab29e32fc10dbbc080 100644 --- a/tests/saveload/deps.i +++ b/tests/saveload/deps.i @@ -1,11 +1,11 @@ /* run.config CMXS: deps_A deps_B deps_C deps_D deps_E - EXECNOW: LOG deps_sav.res LOG deps_sav.err BIN deps.sav @frama-c@ -load-module %{dep:deps_A.cmxs} -eva @EVA_OPTIONS@ -out -input -deps ./deps.i -save deps.sav > deps_sav.res 2> deps_sav.err - STDOPT: +"-load-module %{dep:deps_A.cmxs} -load %{dep:deps.sav} -eva @EVA_OPTIONS@ -out -input -deps " - STDOPT: +"-load-module %{dep:deps_B.cmxs} -load %{dep:deps.sav} -out -input -deps " - STDOPT: +"-load-module %{dep:deps_C.cmxs} -load %{dep:deps.sav} -out -input -deps " - STDOPT: +"-load-module %{dep:deps_D.cmxs} -load %{dep:deps.sav} -out -input -deps " - STDOPT: +"-load-module %{dep:deps_E.cmxs} -load %{dep:deps.sav} -out -input -deps " + EXECNOW: LOG deps_sav.res LOG deps_sav.err BIN @PTEST_NAME@.sav (@frama-c@ -load-module %{dep:deps_A.cmxs} -eva @EVA_OPTIONS@ -out -input -deps @PTEST_NAME@.i -save @PTEST_NAME@.sav) > deps_sav.res 2> deps_sav.err + STDOPT: +"-load-module %{dep:deps_A.cmxs} -load %{dep:@PTEST_NAME@.sav} -eva @EVA_OPTIONS@ -out -input -deps " + STDOPT: +"-load-module %{dep:deps_B.cmxs} -load %{dep:@PTEST_NAME@.sav} -out -input -deps " + STDOPT: +"-load-module %{dep:deps_C.cmxs} -load %{dep:@PTEST_NAME@.sav} -out -input -deps " + STDOPT: +"-load-module %{dep:deps_D.cmxs} -load %{dep:@PTEST_NAME@.sav} -out -input -deps " + STDOPT: +"-load-module %{dep:deps_E.cmxs} -load %{dep:@PTEST_NAME@.sav} -out -input -deps " */ int main() { diff --git a/tests/saveload/isset.c b/tests/saveload/isset.c index f7f6f165f2c4e41b59b4c436e825ef56a3feaca9..119c23deec105aa9ad1d05b86cd3d7f0405b965e 100644 --- a/tests/saveload/isset.c +++ b/tests/saveload/isset.c @@ -1,9 +1,9 @@ /* run.config - EXECNOW: LOG isset_sav.res LOG isset_sav.err BIN isset.sav ./bin/toplevel.opt -quiet -eva @EVA_OPTIONS@ -save result/isset.sav isset.c > ./result/isset_sav.res 2> ./result/isset_sav.err - STDOPT: +"-quiet -load ./result/isset.sav" - STDOPT: +"-load ./result/isset.sav" - STDOPT: +"-eva @EVA_OPTIONS@ -load ./result/isset.sav" - STDOPT: +"-quiet -eva @EVA_OPTIONS@ -load ./result/isset.sav" + EXECNOW: LOG isset_sav.res LOG isset_sav.err BIN isset.sav (@frama-c@ -quiet -eva @EVA_OPTIONS@ -save isset.sav isset.c) > isset_sav.res 2> isset_sav.err + STDOPT: +"-quiet -load %{dep:isset.sav}" + STDOPT: +"-load %{dep:isset.sav}" + STDOPT: +"-eva @EVA_OPTIONS@ -load %{dep:isset.sav}" + STDOPT: +"-quiet -eva @EVA_OPTIONS@ -load %{dep:isset.sav}" */ int main() { diff --git a/tests/saveload/multi_project.i b/tests/saveload/multi_project.i index 081b3f6bb4f169be978f115fd6d57d98020799a0..8e7e3aa42433ffd2350e932010e59f772656d6b8 100644 --- a/tests/saveload/multi_project.i +++ b/tests/saveload/multi_project.i @@ -1,7 +1,7 @@ /* run.config - EXECNOW: BIN multi_project.sav LOG multi_project_sav.res LOG multi_project_sav.err ./bin/toplevel.opt -save ./result/multi_project.sav @EVA_OPTIONS@ -semantic-const-folding @PTEST_DIR@/@PTEST_NAME@.i > result/multi_project_sav.res 2> result/multi_project_sav.err + EXECNOW: BIN @PTEST_NAME@.sav LOG @PTEST_NAME@_sav.res LOG @PTEST_NAME@_sav.err (@frama-c@ -save @PTEST_NAME@.sav @EVA_OPTIONS@ -semantic-const-folding @PTEST_NAME@.i) > @PTEST_NAME@_sav.res 2> @PTEST_NAME@_sav.err CMXS: @PTEST_NAME@ - STDOPT: +"-load ./result/multi_project.sav -journal-disable" + STDOPT: +"-load %{dep:@PTEST_NAME@.sav} -journal-disable" CMD: @frama-c@ -load-module %{dep:@PTEST_NAME@.cmxs} OPT: -eva @EVA_OPTIONS@ */ diff --git a/tests/saveload/oracle/basic.0.res.oracle b/tests/saveload/oracle/basic.0.res.oracle index ae2056404eec150f128c3635e106f985a5b2b6bf..919ad3e4907c1f8e2bf010459d184911758aec0d 100644 --- a/tests/saveload/oracle/basic.0.res.oracle +++ b/tests/saveload/oracle/basic.0.res.oracle @@ -1,2 +1,2 @@ -[kernel] User Error: Frama-C state file 'result/basic.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: 1 state in saved file ignored. It is invalid in this Frama-C configuration. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/oracle/basic.1.res.oracle b/tests/saveload/oracle/basic.1.res.oracle index f0e4f9fbeb86010035c9c1c0596e2db656c94818..2cf7ada66893ceb8fffd9b80ab2095c00320d0ee 100644 --- a/tests/saveload/oracle/basic.1.res.oracle +++ b/tests/saveload/oracle/basic.1.res.oracle @@ -1,2 +1,23 @@ -[kernel] User Error: Frama-C state file 'result/basic.1.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. +/* Generated by Frama-C */ +int main(void) +{ + int __retres; + int i; + int j; + i = 10; + /*@ assert i ≡ 10; */ ; + while (1) { + int tmp; + tmp = i; + /*@ assert Eva: signed_overflow: -2147483648 ≤ i - 1; */ + i --; + ; + if (! tmp) break; + } + j = 5; + __retres = 0; + return __retres; +} + + diff --git a/tests/saveload/oracle/basic.2.res.oracle b/tests/saveload/oracle/basic.2.res.oracle index f0e4f9fbeb86010035c9c1c0596e2db656c94818..c1a75f49e233a3557ccc3efb28c191b714eaa1d5 100644 --- a/tests/saveload/oracle/basic.2.res.oracle +++ b/tests/saveload/oracle/basic.2.res.oracle @@ -1,2 +1 @@ -[kernel] User Error: Frama-C state file 'result/basic.1.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/oracle/basic.4.res.oracle b/tests/saveload/oracle/basic.4.res.oracle index 45d54e46c57d299d9994a7703be5c588e4980cd3..047acff3e8d77ced0f676b1de446cdbbe0c91952 100644 --- a/tests/saveload/oracle/basic.4.res.oracle +++ b/tests/saveload/oracle/basic.4.res.oracle @@ -1,2 +1,2 @@ -[kernel] User Error: Frama-C state file 'result/status.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: 11 states in saved file ignored. They are invalid in this Frama-C configuration. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/oracle/basic_sav.1.res b/tests/saveload/oracle/basic_sav.1.res index bc0690e630a04657a824d81c367565c69275bf4b..e25efee9d317c145520c4cdc931260d30ab51f1b 100644 --- a/tests/saveload/oracle/basic_sav.1.res +++ b/tests/saveload/oracle/basic_sav.1.res @@ -6,8 +6,7 @@ [eva] basic.i:19: assertion got status valid. [eva] basic.i:20: starting to merge loop iterations -[eva:alarm] basic.i:20: Warning: - signed overflow. assert -2147483648 ≤ i - 1; +[eva:alarm] basic.i:20: Warning: signed overflow. assert -2147483648 ≤ i - 1; [eva] Recording results for main [eva] done for function main [eva] ====== VALUES COMPUTED ====== diff --git a/tests/saveload/oracle/basic_sav.res b/tests/saveload/oracle/basic_sav.res index bc0690e630a04657a824d81c367565c69275bf4b..e25efee9d317c145520c4cdc931260d30ab51f1b 100644 --- a/tests/saveload/oracle/basic_sav.res +++ b/tests/saveload/oracle/basic_sav.res @@ -6,8 +6,7 @@ [eva] basic.i:19: assertion got status valid. [eva] basic.i:20: starting to merge loop iterations -[eva:alarm] basic.i:20: Warning: - signed overflow. assert -2147483648 ≤ i - 1; +[eva:alarm] basic.i:20: Warning: signed overflow. assert -2147483648 ≤ i - 1; [eva] Recording results for main [eva] done for function main [eva] ====== VALUES COMPUTED ====== diff --git a/tests/saveload/oracle/bool.0.res.oracle b/tests/saveload/oracle/bool.0.res.oracle index 2dbdb27d5a52f6c4f4bce33fdffabb77209960af..f2e7096002831c02bbf21281a4c13821581bb843 100644 --- a/tests/saveload/oracle/bool.0.res.oracle +++ b/tests/saveload/oracle/bool.0.res.oracle @@ -1,2 +1,57 @@ -[kernel] User Error: Frama-C state file 'result/bool.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. +[from] Computing for function f +[from] Done for function f +[from] Computing for function main +[from] Computing for function printf_va_1 <-main +[from] Done for function printf_va_1 +[from] Computing for function printf_va_2 <-main +[from] Done for function printf_va_2 +[from] Computing for function printf_va_3 <-main +[from] Done for function printf_va_3 +[from] Computing for function printf_va_4 <-main +[from] Done for function printf_va_4 +[from] Computing for function printf_va_5 <-main +[from] Done for function printf_va_5 +[from] Done for function main +[from] ====== DEPENDENCIES COMPUTED ====== + These dependencies hold at termination for the executions that terminate: +[from] Function f: + \result FROM \nothing +[from] Function printf_va_1: + S___fc_stdout[0].__fc_FILE_data + FROM param0; S___fc_stdout[0]; "%d\n" (and SELF) + \result FROM param0; S___fc_stdout[0]; "%d\n" +[from] Function printf_va_2: + S___fc_stdout[0].__fc_FILE_data + FROM param0; S___fc_stdout[0]; "%d\n" (and SELF) + \result FROM param0; S___fc_stdout[0]; "%d\n" +[from] Function printf_va_3: + S___fc_stdout[0].__fc_FILE_data + FROM param0; param1; S___fc_stdout[0]; + "%d,%d\n"[bits 0 to 55] (and SELF) + \result FROM param0; param1; S___fc_stdout[0]; "%d,%d\n"[bits 0 to 55] +[from] Function printf_va_4: + S___fc_stdout[0].__fc_FILE_data + FROM param0; S___fc_stdout[0]; "%d\n" (and SELF) + \result FROM param0; S___fc_stdout[0]; "%d\n" +[from] Function printf_va_5: + S___fc_stdout[0].__fc_FILE_data + FROM param0; S___fc_stdout[0]; "%d\n" (and SELF) + \result FROM param0; S___fc_stdout[0]; "%d\n" +[from] Function main: + x FROM \nothing + y FROM \nothing + S___fc_stdout[0].__fc_FILE_data + FROM S___fc_stdout[0]; "%d\n"; "%d\n"; + "%d,%d\n"[bits 0 to 55]; "%d\n"; "%d\n" (and SELF) + \result FROM \nothing +[from] ====== END OF DEPENDENCIES ====== +[inout] Out (internal) for function f: + i; j; tmp; __retres +[inout] Inputs for function f: + \nothing +[inout] Out (internal) for function main: + x; y; S___fc_stdout[0].__fc_FILE_data +[inout] Inputs for function main: + x; y; S___fc_stdout[0]; "%d\n"; "%d\n"; "%d,%d\n"[bits 0 to 55]; "%d\n"; + "%d\n" diff --git a/tests/saveload/oracle/bool.1.res.oracle b/tests/saveload/oracle/bool.1.res.oracle index 2dbdb27d5a52f6c4f4bce33fdffabb77209960af..c1a75f49e233a3557ccc3efb28c191b714eaa1d5 100644 --- a/tests/saveload/oracle/bool.1.res.oracle +++ b/tests/saveload/oracle/bool.1.res.oracle @@ -1,2 +1 @@ -[kernel] User Error: Frama-C state file 'result/bool.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/oracle/bool_sav.res b/tests/saveload/oracle/bool_sav.res index 2dccb86d209b08ee721881df6a9747a4e37e85c7..7a24197dd13a11b3d32faf881abf47700079f65b 100644 --- a/tests/saveload/oracle/bool_sav.res +++ b/tests/saveload/oracle/bool_sav.res @@ -9,39 +9,33 @@ Called from bool.c:25. [eva] bool.c:17: assertion got status valid. [eva] bool.c:18: starting to merge loop iterations -[eva:alarm] bool.c:18: Warning: - signed overflow. assert -2147483648 ≤ i - 1; +[eva:alarm] bool.c:18: Warning: signed overflow. assert -2147483648 ≤ i - 1; [eva] Recording results for f [eva] Done for function f [eva] computing for function printf_va_1 <- main. Called from bool.c:27. [eva] using specification for function printf_va_1 -[eva] bool.c:27: - function printf_va_1: precondition got status valid. +[eva] bool.c:27: function printf_va_1: precondition got status valid. [eva] Done for function printf_va_1 [eva] computing for function printf_va_2 <- main. Called from bool.c:29. [eva] using specification for function printf_va_2 -[eva] bool.c:29: - function printf_va_2: precondition got status valid. +[eva] bool.c:29: function printf_va_2: precondition got status valid. [eva] Done for function printf_va_2 [eva] computing for function printf_va_3 <- main. Called from bool.c:31. [eva] using specification for function printf_va_3 -[eva] bool.c:31: - function printf_va_3: precondition got status valid. +[eva] bool.c:31: function printf_va_3: precondition got status valid. [eva] Done for function printf_va_3 [eva] computing for function printf_va_4 <- main. Called from bool.c:33. [eva] using specification for function printf_va_4 -[eva] bool.c:33: - function printf_va_4: precondition got status valid. +[eva] bool.c:33: function printf_va_4: precondition got status valid. [eva] Done for function printf_va_4 [eva] computing for function printf_va_5 <- main. Called from bool.c:35. [eva] using specification for function printf_va_5 -[eva] bool.c:35: - function printf_va_5: precondition got status valid. +[eva] bool.c:35: function printf_va_5: precondition got status valid. [eva] Done for function printf_va_5 [eva] Recording results for main [eva] done for function main diff --git a/tests/saveload/oracle/callbacks.res.oracle b/tests/saveload/oracle/callbacks.res.oracle index ca875a6b02f316a5d3f996d09be20b4e749bea1f..ae9563d2b2b8ce582d84ca2bef1b6bd3dd9006f3 100644 --- a/tests/saveload/oracle/callbacks.res.oracle +++ b/tests/saveload/oracle/callbacks.res.oracle @@ -1,2 +1,111 @@ -[kernel] User Error: Frama-C state file 'result/callbacks.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. +[eva] Analyzing a complete application starting at main2 +[eva] Computing initial state +[eva] Initial state computed +[eva:initial-state] Values of globals at initialization + x ∈ {0} + y ∈ {0} +[eva] computing for function g1 <- main2. + Called from callbacks.i:30. +[eva] computing for function f <- g1 <- main2. + Called from callbacks.i:16. +[eva] Recording results for f +[from] Computing for function f +[from] Done for function f +[eva] Done for function f +[eva] Recording results for g1 +[from] Computing for function g1 +[from] Done for function g1 +[eva] Done for function g1 +[eva] computing for function g2 <- main2. + Called from callbacks.i:31. +[eva] computing for function f <- g2 <- main2. + Called from callbacks.i:21. +[eva] Recording results for f +[from] Computing for function f +[from] Done for function f +[eva] Done for function f +[eva] Recording results for g2 +[from] Computing for function g2 +[from] Done for function g2 +[eva] Done for function g2 +[eva] Recording results for main2 +[from] Computing for function main2 +[from] Done for function main2 +[eva] done for function main2 +[from] ====== DISPLAYING CALLWISE DEPENDENCIES ====== +[from] call to f at callbacks.i:16 (by g1): + x FROM p +[from] call to f at callbacks.i:21 (by g2): + y FROM p +[from] call to g1 at callbacks.i:30 (by main2): + x FROM \nothing +[from] call to g2 at callbacks.i:31 (by main2): + y FROM \nothing +[from] entry point: + x FROM \nothing + y FROM \nothing +[from] ====== END OF CALLWISE DEPENDENCIES ====== +[inout] Out (internal) for function f: + x; y +[inout] Out (internal) for function g1: + x +[inout] Out (internal) for function g2: + y +[inout] Out (internal) for function main2: + x; y +[eva] Analyzing a complete application starting at main3 +[eva] Computing initial state +[eva] Initial state computed +[eva:initial-state] Values of globals at initialization + x ∈ {0} + y ∈ {0} +[eva] computing for function g1 <- main3. + Called from callbacks.i:35. +[eva] computing for function f <- g1 <- main3. + Called from callbacks.i:16. +[eva] Recording results for f +[from] Computing for function f +[from] Done for function f +[eva] Done for function f +[eva] Recording results for g1 +[from] Computing for function g1 +[from] Done for function g1 +[eva] Done for function g1 +[eva] computing for function g2 <- main3. + Called from callbacks.i:36. +[eva] computing for function f <- g2 <- main3. + Called from callbacks.i:21. +[eva] Recording results for f +[from] Computing for function f +[from] Done for function f +[eva] Done for function f +[eva] Recording results for g2 +[from] Computing for function g2 +[from] Done for function g2 +[eva] Done for function g2 +[eva] Recording results for main3 +[from] Computing for function main3 +[from] Done for function main3 +[eva] done for function main3 +[from] ====== DISPLAYING CALLWISE DEPENDENCIES ====== +[from] call to f at callbacks.i:16 (by g1): + x FROM p +[from] call to f at callbacks.i:21 (by g2): + y FROM p +[from] call to g1 at callbacks.i:35 (by main3): + x FROM \nothing +[from] call to g2 at callbacks.i:36 (by main3): + y FROM \nothing +[from] entry point: + x FROM \nothing + y FROM \nothing +[from] ====== END OF CALLWISE DEPENDENCIES ====== +[inout] Out (internal) for function f: + x; y +[inout] Out (internal) for function g1: + x +[inout] Out (internal) for function g2: + y +[inout] Out (internal) for function main3: + x; y diff --git a/tests/saveload/oracle/deps_sav.res b/tests/saveload/oracle/deps_sav.res index 139c64b454f6e4eac7ee970596e5f2bce79e1c4b..4c959751d7cf4f524a5a61f5563fffb2481077c3 100644 --- a/tests/saveload/oracle/deps_sav.res +++ b/tests/saveload/oracle/deps_sav.res @@ -5,8 +5,7 @@ [eva:initial-state] Values of globals at initialization [eva] deps.i:15: starting to merge loop iterations -[eva:alarm] deps.i:15: Warning: - signed overflow. assert -2147483648 ≤ i - 1; +[eva:alarm] deps.i:15: Warning: signed overflow. assert -2147483648 ≤ i - 1; [eva] Recording results for main [eva] done for function main [eva] ====== VALUES COMPUTED ====== diff --git a/tests/saveload/oracle/isset.0.res.oracle b/tests/saveload/oracle/isset.0.res.oracle index be79b15a73bf2a3c7800c303a739e0fe84ee939e..c1a75f49e233a3557ccc3efb28c191b714eaa1d5 100644 --- a/tests/saveload/oracle/isset.0.res.oracle +++ b/tests/saveload/oracle/isset.0.res.oracle @@ -1,2 +1 @@ -[kernel] User Error: Frama-C state file 'result/isset.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/oracle/isset.1.res.oracle b/tests/saveload/oracle/isset.1.res.oracle index be79b15a73bf2a3c7800c303a739e0fe84ee939e..c1a75f49e233a3557ccc3efb28c191b714eaa1d5 100644 --- a/tests/saveload/oracle/isset.1.res.oracle +++ b/tests/saveload/oracle/isset.1.res.oracle @@ -1,2 +1 @@ -[kernel] User Error: Frama-C state file 'result/isset.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/oracle/isset.2.res.oracle b/tests/saveload/oracle/isset.2.res.oracle index be79b15a73bf2a3c7800c303a739e0fe84ee939e..c1a75f49e233a3557ccc3efb28c191b714eaa1d5 100644 --- a/tests/saveload/oracle/isset.2.res.oracle +++ b/tests/saveload/oracle/isset.2.res.oracle @@ -1,2 +1 @@ -[kernel] User Error: Frama-C state file 'result/isset.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/oracle/isset.3.res.oracle b/tests/saveload/oracle/isset.3.res.oracle index be79b15a73bf2a3c7800c303a739e0fe84ee939e..c1a75f49e233a3557ccc3efb28c191b714eaa1d5 100644 --- a/tests/saveload/oracle/isset.3.res.oracle +++ b/tests/saveload/oracle/isset.3.res.oracle @@ -1,2 +1 @@ -[kernel] User Error: Frama-C state file 'result/isset.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/oracle/isset_sav.res b/tests/saveload/oracle/isset_sav.res index e910722073c052e8ea08eb000b43f238b9fb8690..f2693a09a703f2ac60abde786ce875d8b5aaf428 100644 --- a/tests/saveload/oracle/isset_sav.res +++ b/tests/saveload/oracle/isset_sav.res @@ -1,2 +1 @@ -[eva:alarm] isset.c:13: Warning: - signed overflow. assert -2147483648 ≤ i - 1; +[eva:alarm] isset.c:13: Warning: signed overflow. assert -2147483648 ≤ i - 1; diff --git a/tests/saveload/oracle/multi_project.0.res.oracle b/tests/saveload/oracle/multi_project.0.res.oracle index 6039357f9a5415ef3ba7818875cab0e00ba4938d..c1a75f49e233a3557ccc3efb28c191b714eaa1d5 100644 --- a/tests/saveload/oracle/multi_project.0.res.oracle +++ b/tests/saveload/oracle/multi_project.0.res.oracle @@ -1,2 +1 @@ -[kernel] User Error: Frama-C state file 'result/multi_project.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/oracle/segfault_datatypes.res.oracle b/tests/saveload/oracle/segfault_datatypes.res.oracle index 71193c073c31bad895cc25e346595b0b9579ec89..919ad3e4907c1f8e2bf010459d184911758aec0d 100644 --- a/tests/saveload/oracle/segfault_datatypes.res.oracle +++ b/tests/saveload/oracle/segfault_datatypes.res.oracle @@ -1,2 +1,2 @@ -[kernel] User Error: Frama-C state file 'result/segfault_datatypes.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: 1 state in saved file ignored. It is invalid in this Frama-C configuration. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/oracle/sparecode.res.oracle b/tests/saveload/oracle/sparecode.res.oracle index 835c93783896d29c9cd32faef736d9470831c860..c1a75f49e233a3557ccc3efb28c191b714eaa1d5 100644 --- a/tests/saveload/oracle/sparecode.res.oracle +++ b/tests/saveload/oracle/sparecode.res.oracle @@ -1,2 +1 @@ -[kernel] User Error: Frama-C state file 'result/sparecode.sav' does not exist -[kernel] Frama-C aborted: invalid user input. +[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. diff --git a/tests/saveload/segfault_datatypes.i b/tests/saveload/segfault_datatypes.i index adf6f9ad9b0d932159ffb731a7a61553772e6eb5..a910d7d701d1a78320954db3f40fbed8c875ab9f 100644 --- a/tests/saveload/segfault_datatypes.i +++ b/tests/saveload/segfault_datatypes.i @@ -1,8 +1,8 @@ /* run.config CMXS: segfault_datatypes_A segfault_datatypes_B - EXECNOW: LOG segfault_datatypes_sav.res LOG segfault_datatypes_sav.err BIN segfault_datatypes.sav @frama-c@ -load-module ./segfault_datatypes_A -eva @EVA_OPTIONS@ -out -input -deps ./segfault_datatypes.i -save ./result/segfault_datatypes.sav > ./result/segfault_datatypes_sav.res 2> ./result/segfault_datatypes_sav.err - CMD: @frama-c@ -load-module ./segfault_datatypes_B - STDOPT: +"-load ./result/segfault_datatypes.sav -eva @EVA_OPTIONS@ -out -input -deps -journal-disable" + EXECNOW: LOG segfault_datatypes_sav.res LOG segfault_datatypes_sav.err BIN segfault_datatypes.sav @frama-c@ -load-module %{dep:segfault_datatypes_A.cmxs} -eva @EVA_OPTIONS@ -out -input -deps %{dep:segfault_datatypes.i} -save segfault_datatypes.sav > segfault_datatypes_sav.res 2> segfault_datatypes_sav.err + CMD: @frama-c@ -load-module %{dep:segfault_datatypes_B.cmxs} + STDOPT: +"-load %{dep:segfault_datatypes.sav} -eva @EVA_OPTIONS@ -out -input -deps -journal-disable" */ diff --git a/tests/saveload/sparecode.i b/tests/saveload/sparecode.i index 3bc98d2b10009ddc789e0aeee46e932c6761d007..a54ccc4fffb743c5d75443c610580cc2bfa319b2 100644 --- a/tests/saveload/sparecode.i +++ b/tests/saveload/sparecode.i @@ -1,6 +1,6 @@ /* run.config - EXECNOW: BIN sparecode.sav LOG sparecode_sav.res LOG sparecode_sav.err ./bin/toplevel.opt -slicing-level 2 -slice-return main -eva-show-progress -save ./result/sparecode.sav sparecode.i -then-on 'Slicing export' -print > result/sparecode_sav.res 2> result/sparecode_sav.err - STDOPT: +"-load ./result/sparecode.sav" + EXECNOW: BIN sparecode.sav LOG sparecode_sav.res LOG sparecode_sav.err (@frama-c@ -slicing-level 2 -slice-return main -eva-show-progress -save sparecode.sav sparecode.i -then-on 'Slicing export' -print) > sparecode_sav.res 2> sparecode_sav.err + STDOPT: +"-load %{dep:sparecode.sav}" */ int G;