Updating tests
This commit is contained in:
parent
461b36a039
commit
62cbe24565
|
|
@ -14,11 +14,12 @@ RUN cp -r /var/cache/apt/archives/*.deb .
|
||||||
ARG SCHEME=chibi
|
ARG SCHEME=chibi
|
||||||
ARG IMAGE=chibi:head
|
ARG IMAGE=chibi:head
|
||||||
FROM schemers/${IMAGE}
|
FROM schemers/${IMAGE}
|
||||||
|
RUN mkdir -p ${HOME}/.snow && echo "()" > ${HOME}/.snow/config.scm
|
||||||
COPY --from=build /cache /cache
|
COPY --from=build /cache /cache
|
||||||
WORKDIR /cache/debs
|
WORKDIR /cache/debs
|
||||||
RUN dpkg -i *.deb
|
RUN dpkg -i *.deb
|
||||||
COPY --from=retropikzel1/compile-r7rs /opt/compile-r7rs /opt/compile-r7rs
|
COPY --from=retropikzel1/compile-r7rs /opt/compile-r7rs /opt/compile-r7rs
|
||||||
RUN /opt/compile-r7rs/bin/install-docker
|
ENV PATH=/opt/compile-r7rs/bin:${PATH}
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
ARG SCHEME=chibi
|
ARG SCHEME=chibi
|
||||||
ENV COMPILE_R7RS=${SCHEME}
|
ENV COMPILE_R7RS=${SCHEME}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
def tests = ['primitives', 'array', 'struct', 'addressof', 'callback']
|
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
agent {
|
agent {
|
||||||
label 'linux'
|
label 'linux'
|
||||||
|
|
@ -11,15 +9,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
|
|
||||||
stage('Tests x86_64 Debian') {
|
stage('Tests x86_64 Debian') {
|
||||||
agent {
|
|
||||||
docker {
|
|
||||||
label 'docker-x86_64'
|
|
||||||
image 'retropikzel1/compile-r7rs'
|
|
||||||
args '--user=root --privileged -v /var/run/docker.sock:/var/run/docker.sock'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
def schemes = "chibi chicken gauche guile kawa mosh racket sagittarius stklos ypsilon"
|
def schemes = "chibi chicken gauche guile kawa mosh racket sagittarius stklos ypsilon"
|
||||||
|
|
@ -27,14 +17,10 @@ pipeline {
|
||||||
schemes.split().each { SCHEME ->
|
schemes.split().each { SCHEME ->
|
||||||
stage("${SCHEME}") {
|
stage("${SCHEME}") {
|
||||||
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
|
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
|
||||||
sh "COMPILE_R7RS=${SCHEME} test-r7rs test.scm"
|
def DOCKERIMG="${SCHEME}:head"
|
||||||
}
|
sh "docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-test-${SCHEME} -f Dockerfile.test ."
|
||||||
}
|
sh "docker run -it -v ${WORKSPACE}:/workdir -w /workdir -t foreign-c-test-${SCHEME} sh -c \"make SCHEME=${SCHEME} SNOW_CHIBI_ARGS=--always-yes install test\""
|
||||||
stage("${SCHEME} logs") {
|
archiveArtifacts artifacts: '.tmp/test/*.log', allowEmptyArchive: true, fingerprint: true, onlyIfSuccessful: true
|
||||||
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
|
|
||||||
sh "cat .tmp/test/test-r7rs/tmp/*"
|
|
||||||
sh "cat .tmp/test/test-r7rs/Dockerfile"
|
|
||||||
sh "cat .tmp/test-r7rs/${SCHEME}/logs/*.log"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
14
Makefile
14
Makefile
|
|
@ -1,5 +1,6 @@
|
||||||
.PHONY: libtest.o tests/libtest.so libtest.a documentation README.html
|
.PHONY: libtest.o tests/libtest.so libtest.a documentation README.html
|
||||||
SCHEME=chibi
|
SCHEME=chibi
|
||||||
|
DOCKERIMG=${SCHEME}:head
|
||||||
VERSION=0.10.7
|
VERSION=0.10.7
|
||||||
CC=gcc
|
CC=gcc
|
||||||
TMPDIR=.tmp
|
TMPDIR=.tmp
|
||||||
|
|
@ -32,24 +33,19 @@ install: package
|
||||||
uninstall:
|
uninstall:
|
||||||
snow-chibi --impls=${SCHEME} remove "(foreign c)"
|
snow-chibi --impls=${SCHEME} remove "(foreign c)"
|
||||||
|
|
||||||
test-old: ${TMPDIR}/test/libtest.o ${TMPDIR}/test/libtest.so ${TMPDIR}/test/libtest.a
|
test: ${TMPDIR}/test/libtest.o ${TMPDIR}/test/libtest.so ${TMPDIR}/test/libtest.a
|
||||||
cp -r foreign ${TMPDIR}/test/
|
cp -r foreign ${TMPDIR}/test/
|
||||||
cp tests/*.scm ${TMPDIR}/test/
|
cp tests/*.scm ${TMPDIR}/test/
|
||||||
cp tests/c-include/libtest.h ${TMPDIR}/test/
|
cp tests/c-include/libtest.h ${TMPDIR}/test/
|
||||||
cd ${TMPDIR}/test && \
|
cd ${TMPDIR}/test && \
|
||||||
COMPILE_R7RS_CHICKEN="-L -ltest -I. -L." \
|
COMPILE_R7RS_CHICKEN="-L -ltest -I. -L." \
|
||||||
COMPILE_R7RS=${SCHEME} timeout 600 compile-r7rs -o ${TEST} ${TEST}.scm
|
COMPILE_R7RS=${SCHEME} timeout 600 compile-r7rs -o test test.scm
|
||||||
cd ${TMPDIR}/test && printf "\n" | LD_LIBRARY_PATH=. timeout 600 ./${TEST}
|
cd ${TMPDIR}/test && printf "\n" | LD_LIBRARY_PATH=. timeout 600 ./test
|
||||||
|
|
||||||
test: ${TMPDIR}/test ${TMPDIR}/test/libtest.o ${TMPDIR}/test/libtest.so ${TMPDIR}/test/libtest.a
|
|
||||||
cp -r foreign ${TMPDIR}/test/
|
|
||||||
cp test.scm ${TMPDIR}/test/
|
|
||||||
cd ${TMPDIR}/test && COMPILE_R7RS="${SCHEME}" APT_PKGS=libffi-dev test-r7rs ${TEST_R7RS_ARGS} --use-docker-head -I . -o test test.scm
|
|
||||||
|
|
||||||
test-docker:
|
test-docker:
|
||||||
docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-test-${SCHEME} -f Dockerfile.test .
|
docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-test-${SCHEME} -f Dockerfile.test .
|
||||||
docker run -it -v "${PWD}:/workdir" -w /workdir -t foreign-c-test-${SCHEME} sh -c \
|
docker run -it -v "${PWD}:/workdir" -w /workdir -t foreign-c-test-${SCHEME} sh -c \
|
||||||
"timeout 120 make SCHEME=${SCHEME} TEST=${TEST} SNOW_CHIBI_ARGS=--always-yes install test"
|
"make SCHEME=${SCHEME} SNOW_CHIBI_ARGS=--always-yes install test"
|
||||||
|
|
||||||
${TMPDIR}/test/libtest.o: tests/c-src/libtest.c ${TMPDIR}/test
|
${TMPDIR}/test/libtest.o: tests/c-src/libtest.c ${TMPDIR}/test
|
||||||
${CC} ${CFLAGS} -o ${TMPDIR}/test/libtest.o -fPIC -c tests/c-src/libtest.c -I./include ${LDFLAGS}
|
${CC} ${CFLAGS} -o ${TMPDIR}/test/libtest.o -fPIC -c tests/c-src/libtest.c -I./include ${LDFLAGS}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue