Improving testing
This commit is contained in:
parent
9850f8e632
commit
c55ac3c3f6
|
|
@ -10,6 +10,7 @@ RUN wget https://gitlab.com/-/project/6808260/uploads/094ce726ce3c6cf8c14560f1e3
|
||||||
&& mv akku-1.1.0.amd64-linux akku
|
&& mv akku-1.1.0.amd64-linux akku
|
||||||
RUN git clone https://github.com/ashinn/chibi-scheme.git --depth=1
|
RUN git clone https://github.com/ashinn/chibi-scheme.git --depth=1
|
||||||
RUN git clone https://codeberg.org/retropikzel/compile-scheme.git --depth=1
|
RUN git clone https://codeberg.org/retropikzel/compile-scheme.git --depth=1
|
||||||
|
RUN git clone https://codeberg.org/foreign-c/foreign-c.git --depth=1
|
||||||
WORKDIR /build/chibi-scheme
|
WORKDIR /build/chibi-scheme
|
||||||
RUN make
|
RUN make
|
||||||
RUN make install
|
RUN make install
|
||||||
|
|
@ -19,7 +20,7 @@ RUN make build-gauche
|
||||||
ARG SCHEME=chibi
|
ARG SCHEME=chibi
|
||||||
ARG IMAGE=${SCHEME}:head
|
ARG IMAGE=${SCHEME}:head
|
||||||
FROM schemers/${IMAGE}
|
FROM schemers/${IMAGE}
|
||||||
RUN apt-get update && apt-get install -y make libffi-dev libcurl4 gauche
|
RUN apt-get update && apt-get install -y make gcc libffi-dev libcurl4 gauche
|
||||||
RUN mkdir ${HOME}/.snow && echo "()" > ${HOME}/.snow/config.scm
|
RUN mkdir ${HOME}/.snow && echo "()" > ${HOME}/.snow/config.scm
|
||||||
COPY --from=build /build /build
|
COPY --from=build /build /build
|
||||||
ARG SCHEME=chibi
|
ARG SCHEME=chibi
|
||||||
|
|
@ -33,10 +34,12 @@ WORKDIR /build/akku
|
||||||
RUN bash install.sh
|
RUN bash install.sh
|
||||||
ENV PATH=/root/.local/bin:${PATH}
|
ENV PATH=/root/.local/bin:${PATH}
|
||||||
RUN akku update
|
RUN akku update
|
||||||
WORKDIR /
|
WORKDIR /build/foreign-c
|
||||||
RUN timeout 60 snow-chibi install --impls=${SCHEME} --always-yes "(srfi 64)"
|
RUN timeout 60 snow-chibi install --impls=${SCHEME} --always-yes "(srfi 64)"
|
||||||
RUN timeout 60 snow-chibi install --impls=${SCHEME} --always-yes "(foreign c)"
|
RUN timeout 60 snow-chibi install --impls=${SCHEME} --always-yes "(foreign c)"
|
||||||
|
RUN make SCHEME=${SCHEME} build install
|
||||||
WORKDIR /workdir
|
WORKDIR /workdir
|
||||||
|
RUN cp -r /build/foreign-c/foreign .
|
||||||
COPY Makefile .
|
COPY Makefile .
|
||||||
COPY retropikzel retropikzel/
|
COPY retropikzel retropikzel/
|
||||||
|
|
||||||
|
|
|
||||||
42
Makefile
42
Makefile
|
|
@ -1,4 +1,4 @@
|
||||||
.SILENT: build install test test-docker clean ${TMPDIR}
|
.SILENT: build install test test-docker clean
|
||||||
SCHEME=chibi
|
SCHEME=chibi
|
||||||
LIBRARY=system
|
LIBRARY=system
|
||||||
AUTHOR=Retropikzel
|
AUTHOR=Retropikzel
|
||||||
|
|
@ -9,8 +9,7 @@ DESCRIPTION=$(shell head -n1 retropikzel/${LIBRARY}/README.md)
|
||||||
README=retropikzel/${LIBRARY}/README.html
|
README=retropikzel/${LIBRARY}/README.html
|
||||||
TESTFILE=retropikzel/${LIBRARY}/test.scm
|
TESTFILE=retropikzel/${LIBRARY}/test.scm
|
||||||
|
|
||||||
PKG=foreign-c-${LIBRARY}-${VERSION}.tgz
|
PKG=retropikzel-${LIBRARY}-${VERSION}.tgz
|
||||||
TMPDIR=.tmp/${LIBRARY}/${SCHEME}
|
|
||||||
|
|
||||||
DOCKERIMG=${SCHEME}:head
|
DOCKERIMG=${SCHEME}:head
|
||||||
ifeq "${SCHEME}" "chicken"
|
ifeq "${SCHEME}" "chicken"
|
||||||
|
|
@ -29,37 +28,26 @@ install:
|
||||||
uninstall:
|
uninstall:
|
||||||
-snow-chibi remove --impls=${SCHEME} ${PKG}
|
-snow-chibi remove --impls=${SCHEME} ${PKG}
|
||||||
|
|
||||||
.akku:
|
test-r7rs:
|
||||||
akku install chez-srfi akku-r7rs
|
echo "(import (scheme base) (scheme write) (scheme file) (scheme process-context) (retropikzel ${LIBRARY}) (srfi 64))" > test-r7rs.scm
|
||||||
|
cat retropikzel/${LIBRARY}/test.scm >> test-r7rs.scm
|
||||||
tmpdir: .akku
|
COMPILE_R7RS=${SCHEME} compile-scheme -I . -o test-r7rs test-r7rs.scm
|
||||||
mkdir -p ${TMPDIR}
|
printf "\n" | ./test-r7rs
|
||||||
cp ${TESTFILE} ${TMPDIR}/
|
|
||||||
mkdir -p ${TMPDIR}/retropikzel
|
|
||||||
cp -r retropikzel/${LIBRARY} ${TMPDIR}/retropikzel/
|
|
||||||
cp -r retropikzel/${LIBRARY}.s* ${TMPDIR}/retropikzel/
|
|
||||||
|
|
||||||
test-r7rs: tmpdir
|
|
||||||
cd ${TMPDIR} && echo "(import (scheme base) (scheme write) (scheme file) (scheme process-context) (retropikzel ${LIBRARY}) (srfi 64))" > test-r7rs.scm
|
|
||||||
cd ${TMPDIR} && cat retropikzel/${LIBRARY}/test.scm >> test-r7rs.scm
|
|
||||||
cd ${TMPDIR} && COMPILE_R7RS=${SCHEME} compile-scheme -I . -o test-r7rs test-r7rs.scm
|
|
||||||
cd ${TMPDIR} && printf "\n" | ./test-r7rs
|
|
||||||
|
|
||||||
test-r7rs-docker:
|
test-r7rs-docker:
|
||||||
docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-library-test-${SCHEME} .
|
docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-library-test-${SCHEME} .
|
||||||
docker run -t foreign-c-library-test-${SCHEME} sh -c "make SCHEME=${SCHEME} test-r7rs"
|
docker run -t foreign-c-library-test-${SCHEME} sh -c "make SCHEME=${SCHEME} LIBRARY=${LIBRARY} build install test-r7rs"
|
||||||
|
|
||||||
test-r6rs: tmpdir
|
test-r6rs:
|
||||||
cd ${TMPDIR} && echo "(import (rnrs) (retropikzel ${LIBRARY}) (srfi :64))" > test-r6rs.sps
|
echo "(import (rnrs) (retropikzel ${LIBRARY}) (srfi :64))" > test-r6rs.sps
|
||||||
cd ${TMPDIR} && cat retropikzel/${LIBRARY}/test.scm >> test-r6rs.sps
|
cat retropikzel/${LIBRARY}/test.scm >> test-r6rs.sps
|
||||||
cd ${TMPDIR} && akku install
|
akku install chez-srfi akku-r7rs
|
||||||
cp -r .akku/* ${TMPDIR}/.akku/
|
COMPILE_R7RS=${SCHEME} compile-scheme -I .akku/lib -o test-r6rs test-r6rs.sps
|
||||||
cd ${TMPDIR} && COMPILE_R7RS=${SCHEME} compile-scheme -I .akku/lib -o test-r6rs test-r6rs.sps
|
./test-r6rs
|
||||||
cd ${TMPDIR} && ./test-r6rs
|
|
||||||
|
|
||||||
test-r6rs-docker:
|
test-r6rs-docker:
|
||||||
docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-library-test-${SCHEME} .
|
docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-library-test-${SCHEME} .
|
||||||
docker run -t foreign-c-library-test-${SCHEME} sh -c "make SCHEME=${SCHEME} test-r6rs"
|
docker run -t foreign-c-library-test-${SCHEME} sh -c "make SCHEME=${SCHEME} LIBRARY=${LIBRARY} test-r6rs"
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
git clean -X -f
|
git clean -X -f
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue