Linux Kernel tests on RCU
Requested by Daniel Kroening.
Including these tests to CBMC testing to test cbmc and/or linux-rcu.
To be able to to test linux-rcu somebody need to maintain awk script (strip
all things that cbmc is not able to process) in the kernel source so for now
it is feasible to use these tests as another regression tests for cbmc.
Preparation for running tests
git clone git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
git checkout srcu.2017.01.14a
cd tools/testing/selftests/rcutorture/formal/srcu-cbmc
cbmc binary have to be in PATH or defined in tests/test_script.sh as
CBMC_BIN=/home/zeman/git/cbmc/src/cbmc/cbmc
Test run and expected results
awk genarate include/linux/srcu.h and srcu.c.
If we do not need to create those files (we are not following changes in kernel)
we do not need whole kernel just files from current folder
linux-rcu/tools/testing/selftests/rcutorture/formal/srcu-cbmc
Tests are in tests/store_buffering/
- those that have
*.pass in file name should have
VERIFICATION SUCCESSFUL in the last line of *.pass.out file.
- those that have
*.fail in file name should have
VERIFICATION FAILED in the last line of *.fail.out file.
Linux Kernel tests on RCU
Requested by Daniel Kroening.
Including these tests to CBMC testing to test
cbmcand/orlinux-rcu.To be able to to test
linux-rcusomebody need to maintainawkscript (stripall things that cbmc is not able to process) in the kernel source so for now
it is feasible to use these tests as another regression tests for
cbmc.Preparation for running tests
git clone git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git git checkout srcu.2017.01.14a cd tools/testing/selftests/rcutorture/formal/srcu-cbmccbmcbinary have to be inPATHor defined intests/test_script.shasTest run and expected results
awkgenarateinclude/linux/srcu.handsrcu.c.If we do not need to create those files (we are not following changes in kernel)
we do not need whole kernel just files from current folder
linux-rcu/tools/testing/selftests/rcutorture/formal/srcu-cbmcTests are in
tests/store_buffering/*.passin file name should haveVERIFICATION SUCCESSFULin the last line of*.pass.outfile.*.failin file name should haveVERIFICATION FAILEDin the last line of*.fail.outfile.