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
src
contains the C, Java or Python code of basic services. This container must contain acompile.sh
for the compilation. The compile script may call another build tool likegradle
ormake
. - Source code is downloaded from a ServiceCodeProvider repository.
- Certificates (
*.proof
) for C implementations must be in the same directory as the.*c
file 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.c
must 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
hooks
contains shell scripts for downloading the source code, running the verification, and running the compilation. - Folder
sede
contains the SEDE executor logic. - The script
run.sh
executes all scripts in thehooks
folder 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