Compiling Xen with CBMC: docker file "expensive regression test"#2504
Compiling Xen with CBMC: docker file "expensive regression test"#2504tautschnig merged 1 commit intodiffblue:developfrom
Conversation
allredj
left a comment
There was a problem hiding this comment.
Passed Diffblue compatibility checks (cbmc commit: 70a0fde).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/77823134
|
Looks good -- may I suggest to move this from the root directory to regression/goto-cc-xen? |
70a0fde to
8f842ec
Compare
allredj
left a comment
There was a problem hiding this comment.
✔️
Passed Diffblue compatibility checks (cbmc commit: 8f842ec).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/92262009
To create docker file, run "make" in integration/xen. The Docker file will build CBMC, download Xen upstream version, and one-line-scan, and then attempt to build Xen using goto-cc.
8f842ec to
507766e
Compare
allredj
left a comment
There was a problem hiding this comment.
✔️
Passed Diffblue compatibility checks (cbmc commit: 507766e).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/102261536
|
Calling everyone with opinions about testing and infrastructure: this PR now adds a new directory |
|
So it currently doesn't actually use cbmc but just goto-cc's Xen? Do you intend it to do some analysis or just serve as a stress test for goto-cc? |
We could of course add some analysis, but before doing so we might have to address issues such as function-pointer removal (#2620). I'd say:
|
Compilation of Xen with goto-cc currently fails, although at some point in the past it has worked. I would obviously like the compilation to work again (and for that separate issues are being filed), but I would also like some kind of "expensive" regression test to prevent this kind of degradation happening in future.
This PR adds scripts to create a docker container that compiles Xen with goto-cc. In effect, everything we need the regression test to do. I don't know how it would be best to have this set up as an actual regression test though.
To create the docker file, on a machine with docker installed, run the following script from the cbmc top directory
This creates a docker container based on the Dockerfile. The docker container runs the script "scrpts/docker_compile_xen.sh", which: