Fixing tests

This commit is contained in:
retropikzel 2025-07-14 20:15:46 +03:00
parent a315ca5d1d
commit aa9a14a054
4 changed files with 13 additions and 31 deletions

View File

@ -1,4 +1,4 @@
FROM schemers/sagittarius FROM schemers/chibi
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
build-essential wget make cmake libgc-dev zlib1g-dev libffi-dev \ build-essential wget make cmake libgc-dev zlib1g-dev libffi-dev \
libssl-dev docker.io libssl-dev docker.io

View File

@ -1,31 +1,13 @@
ARG COMPILE_R7RS=chibi ARG SCHEME=chibi
FROM schemers/sagittarius AS build FROM schemers/${SCHEME}
RUN apt-get update && apt-get install -y wget build-essential make cmake libgc-dev zlib1g-dev libffi-dev libssl-dev
RUN wget https://github.com/ktakashi/sagittarius-scheme/archive/refs/tags/version_0.9.12.tar.gz && tar -xf version_0.9.12.tar.gz
RUN cd sagittarius-scheme-version_0.9.12 && ./dist.sh gen && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local-other .. && make && make install
WORKDIR /workdir
COPY Makefile .
COPY compile-r7rs.scm .
COPY snow/ snow/
COPY libs/ libs/
RUN ls -1
RUN make PREFIX=/usr/local-other && make install PREFIX=/usr/local-other
FROM schemers/${COMPILE_R7RS}
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
build-essential \ build-essential \
make \ make \
libfcgi-dev \
sqlite3 \
libsqlite3-dev \
libffi8 \
libffi-dev \ libffi-dev \
libgc1 \ ca-certificates \
libssl3 \ git
libuv1
COPY --from=build /usr/local-other/ /usr/local-other/
ENV PATH=${PATH}:/usr/local-other/bin ENV PATH=${PATH}:/usr/local-other/bin
ARG COMPILE_R7RS=chibi ARG SCHEME=chibi
ENV COMPILE_R7RS=${COMPILE_R7RS} ENV COMPILE_R7RS=${SCHEME}
RUN git clone https://github.com/ashinn/chibi-scheme.git --depth=1 \
&& cd chibi-scheme && make -j 16 && make -j 16 install

4
Jenkinsfile vendored
View File

@ -13,7 +13,7 @@ pipeline {
stage('Test R6RS implementations') { stage('Test R6RS implementations') {
steps { steps {
script { script {
def r6rs_implementations = sh(script: 'sash -L ./snow -L . compile-r7rs.scm --list-r6rs-schemes', returnStdout: true).split() def r6rs_implementations = sh(script: 'chibi-scheme -I ./snow -I . compile-r7rs.scm --list-r6rs-schemes', returnStdout: true).split()
r6rs_implementations.each { implementation-> r6rs_implementations.each { implementation->
stage("${implementation} R6RS") { stage("${implementation} R6RS") {
@ -29,7 +29,7 @@ pipeline {
stage('Test R7RS implementations') { stage('Test R7RS implementations') {
steps { steps {
script { script {
def r7rs_implementations = sh(script: 'sash -L ./snow -L . compile-r7rs.scm --list-r7rs-schemes', returnStdout: true).split() def r7rs_implementations = sh(script: 'chibi-scheme -I ./snow -I . compile-r7rs.scm --list-r7rs-schemes', returnStdout: true).split()
r7rs_implementations.each { implementation-> r7rs_implementations.each { implementation->
stage("${implementation} R7RS") { stage("${implementation} R7RS") {

View File

@ -4,7 +4,7 @@ SCHEME=chibi
all: build all: build
container: container:
docker build -f Dockerfile --tag=compile-r7rs docker build -f Dockerfile.test --tag=compile-r7rs
build: deps build: deps
echo "#!/bin/sh" > compile-r7rs echo "#!/bin/sh" > compile-r7rs
@ -55,7 +55,7 @@ test-r7rs:
@grep "Test successfull" /tmp/compile-r7rs-test-result.txt || (echo "Test failed, output: " && cat /tmp/compile-r7rs-test-result.txt && exit 1) @grep "Test successfull" /tmp/compile-r7rs-test-result.txt || (echo "Test failed, output: " && cat /tmp/compile-r7rs-test-result.txt && exit 1)
test-r7rs-docker: test-r7rs-docker:
docker build --build-arg COMPILE_R7RS=${SCHEME} --tag=compile-r7rs-test-${SCHEME} . docker build -f Dockerfile.test --build-arg COMPILE_R7RS=${SCHEME} --tag=compile-r7rs-test-${SCHEME} .
docker run -v "${PWD}":/workdir -w /workdir -t compile-r7rs-test-${SCHEME} sh -c "make && make install && make clean-test COMPILE_R7RS=${SCHEME} test-r7rs" docker run -v "${PWD}":/workdir -w /workdir -t compile-r7rs-test-${SCHEME} sh -c "make && make install && make clean-test COMPILE_R7RS=${SCHEME} test-r7rs"
clean-test: clean-test: