This repository belongs to the main Testbed repository. It contains shell scripts that are supposed to be executed within a Docker container when basic services are deployed by the demonstrator. The shell script downloads the source code, runs the verification, runs the compilation and finally launches the SEDE executor. The Docker container that is created for basic services has the following file system structure:
├─ cpachecker
├─ hooks
├─ sede
├─ src
- Folder
srccontains the C, Java or Python code of basic services. This container must contain acompile.shfor the compilation. The compile script may call another build tool likegradleormake. - Source code is downloaded from a ServiceCodeProvider repository.
- Certificates (
*.proof) for C implementations must be in the same directory as the.*cfile and must have a specific file name pattern: _.proof. For example, the name of the proof for the analysis sign for the C implementationservice_grey_cpu.cmust beservice_grey_cpu_sign.proof. - The configuration files that are necessary for the SEDE executor must be located at the folder
src/main/resources/config. - Folder
hookscontains shell scripts for downloading the source code, running the verification, and running the compilation. - Folder
sedecontains the SEDE executor logic. - The script
run.shexecutes all scripts in thehooksfolder in alphanumerical order and starts the SEDE server in the end.
The following software needs to be installed inside the Docker container: curl, git, javac/gcc, gradle/make