Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add travis and dockerfile #34

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Add travis and dockerfile #34

wants to merge 6 commits into from

Conversation

emmyni
Copy link
Contributor

@emmyni emmyni commented Nov 5, 2020

No description provided.


## install required pacakges
USER root

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apt remove --purge cmake
snap install cmake --classic

Add above lines here to update cmake to the latest one

WORKDIR /home/usea
RUN git clone https://github.com/yvizel/verify-c-common.git

## clone trusty repository (takes a long time)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change comment

RUN git clone https://github.com/awslabs/aws-c-common.git

WORKDIR /home/usea/verify-c-common/aws-c-common
RUN mkdir build && cd build && cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ../
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change cmake to

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_INSTALL_PREFIX=$(pwd)/run ../ -GNinja

RUN mkdir build && cd build && cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ../

WORKDIR /home/usea/verify-c-common
RUN ln -sf aws-c-common/build/compile_commands.json .
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove above RUN. it is no longer necessary.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are you referring to line 19 or 22?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

line 22


WORKDIR /home/usea/verify-c-common/aws-c-common
RUN mkdir build && cd build && cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ../

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to build aws-c-common by adding to the above line

cmake --build . --target install

- env: BUILD_TYPE=RelWithDebInfo
script:
- docker build -t verify-c-common -f verify-c-common.Dockerfile .
- docker run -t verify-c-common /bin/bash -c "cd build && ninja test"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

once everything is working, (but maybe even now?), need to do runs with different options.
Currently, we have the following combinations:

  • normal : which is what is run above
  • cex : with --cex switch
  • vacuity: with --vac switch
  • normal with yices: --horn-bmc-solver=smt-y2
  • cex with yices: --horn-bmc-solver=smt-y2

Some of these might time out, so we will need to exclude tests that time out. This can be done using ctest command and its flags.

As this gets complicated, it is best to package this in a script and then call the script from the docker container.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to do this, would I just add ctest --cex (or whatever flag) in the travis file or would I need to change the cmake instructions in the dockerfile?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants