Closed ivanperez-keera closed 9 months ago
Change Manager: Verified that:
Solution is implemented:
[X] The code proposed compiles and passes all tests. Details: Build log: https://app.travis-ci.com/github/Copilot-Language/copilot/builds/268024914
[X] The solution proposed produces the expected result. Details:
The following Dockerfile checks that copilot-libraries
's tests can be executed, in which case it prints the message Success
:
FROM ubuntu:focal
RUN apt-get update
RUN apt-get install --yes libz-dev RUN apt-get install --yes git
RUN apt-get install --yes wget RUN mkdir -p $HOME/.ghcup/bin RUN wget https://downloads.haskell.org/~ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2 -O $HOME/.ghcup/bin/ghcup
RUN chmod a+x $HOME/.ghcup/bin/ghcup ENV PATH=$PATH:/root/.ghcup/bin/ ENV PATH=$PATH:/root/.cabal/bin/ RUN apt-get install --yes curl RUN apt-get install --yes gcc make libgmp3-dev g++
SHELL ["/bin/bash", "-c"]
RUN ghcup install ghc 9.4.7 RUN ghcup install cabal 3.8 RUN ghcup set ghc 9.4.7 RUN cabal update
RUN apt-get install --yes z3
CMD git clone $REPO && \ cd $NAME && \ git checkout $COMMIT && \ cd copilot-libraries && \ cabal test copilot-libraries:unit-tests && \ echo Success
Command (adjust repo as necessary):
$ docker run -e "REPO=https://github.com/ivanperez-keera/copilot" -e "NAME=copilot" -e "COMMIT=15ca5779c64e89dd7dc8fa8f5296baed129d4dd8" -it copilot-verify-475
Introduce minimal testing infrastructure for
copilot-libraries
, focusing only onCopilot.Library.PTLTL
, using both the interpreter and Z3 to demonstrate how to test a sample property, as prescribed in the solution proposed for #475.