Fixing testing
This commit is contained in:
parent
35fe526488
commit
9c4c47c3d1
|
|
@ -9,7 +9,7 @@ RUN wget https://gitlab.com/-/project/6808260/uploads/094ce726ce3c6cf8c14560f1e3
|
||||||
&& tar -xf akku-1.1.0.amd64-linux.tar.xz \
|
&& tar -xf akku-1.1.0.amd64-linux.tar.xz \
|
||||||
&& 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=2
|
||||||
RUN git clone https://codeberg.org/retropikzel/foreign-c-libraries.git --depth=1
|
RUN git clone https://codeberg.org/retropikzel/foreign-c-libraries.git --depth=1
|
||||||
WORKDIR /build/chibi-scheme
|
WORKDIR /build/chibi-scheme
|
||||||
RUN make
|
RUN make
|
||||||
|
|
@ -38,14 +38,13 @@ RUN bash install.sh
|
||||||
ENV PATH=/root/.local/bin:${PATH}
|
ENV PATH=/root/.local/bin:${PATH}
|
||||||
RUN akku update
|
RUN akku update
|
||||||
WORKDIR /build/foreign-c
|
WORKDIR /build/foreign-c
|
||||||
RUN timeout 30 snow-chibi install --impls=${SCHEME} --always-yes "(srfi 64)" || true
|
RUN snow-chibi install --impls=${SCHEME} --always-yes "(srfi 64)"
|
||||||
RUN timeout 30 snow-chibi install --impls=${SCHEME} --always-yes "(foreign c)" || true
|
RUN snow-chibi install --impls=${SCHEME} --always-yes "(foreign c)"
|
||||||
RUN timeout 30 snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel shell)" || true
|
RUN snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel shell)"
|
||||||
RUN timeout 30 snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel debug)" || true
|
RUN snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel debug)"
|
||||||
RUN make SCHEME=${SCHEME} build install
|
RUN make SCHEME=${SCHEME} build install
|
||||||
WORKDIR /workdir
|
WORKDIR /workdir
|
||||||
RUN cp -r /build/foreign-c-libraries/retropikzel retropikzel/
|
RUN cp -r /build/foreign-c-libraries/retropikzel retropikzel/
|
||||||
RUN cp -r /build/foreign-c/foreign .
|
RUN cp -r /build/foreign-c/foreign .
|
||||||
COPY Makefile .
|
COPY Makefile .
|
||||||
COPY srfi srfi/
|
COPY srfi srfi/
|
||||||
COPY foreign foreign/
|
|
||||||
8
Makefile
8
Makefile
|
|
@ -33,24 +33,24 @@ uninstall:
|
||||||
|
|
||||||
test-r7rs: tmpdir
|
test-r7rs: tmpdir
|
||||||
@if [ "${SCHEME}" = "chibi" ]; then rm -rf ${TMPDIR}/srfi/98.*; fi
|
@if [ "${SCHEME}" = "chibi" ]; then rm -rf ${TMPDIR}/srfi/98.*; fi
|
||||||
cd ${TMPDIR} && echo "(import (scheme base) (scheme write) (scheme file) (scheme process-context) (retropikzel debug) (foreign c) (srfi ${SRFI}) (srfi 64))" > test-r7rs.scm
|
cd ${TMPDIR} && echo "(import (scheme base) (scheme write) (scheme file) (scheme process-context) (foreign c) (srfi ${SRFI}) (srfi 64))" > test-r7rs.scm
|
||||||
cd ${TMPDIR} && cat srfi/${SRFI}/test.scm >> test-r7rs.scm
|
cd ${TMPDIR} && cat srfi/${SRFI}/test.scm >> test-r7rs.scm
|
||||||
cd ${TMPDIR} && COMPILE_R7RS=${SCHEME} compile-scheme -I . -o test-r7rs test-r7rs.scm
|
cd ${TMPDIR} && COMPILE_R7RS=${SCHEME} compile-scheme -I . -o test-r7rs test-r7rs.scm
|
||||||
cd ${TMPDIR} && printf "\n" | ./test-r7rs
|
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-srfi-test-${SCHEME} .
|
docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-srfi-test-${SCHEME} -f Dockerfile.test .
|
||||||
docker run -t foreign-c-srfi-test-${SCHEME} sh -c "make SCHEME=${SCHEME} SRFI=${SRFI} SNOW_CHIBI_ARGS=--always-yes build install test-r7rs"
|
docker run -t foreign-c-srfi-test-${SCHEME} sh -c "make SCHEME=${SCHEME} SRFI=${SRFI} SNOW_CHIBI_ARGS=--always-yes build install test-r7rs"
|
||||||
|
|
||||||
test-r6rs: tmpdir
|
test-r6rs: tmpdir
|
||||||
cd ${TMPDIR} && echo "(import (rnrs) (retropikzel debug) (foreign c) (srfi :${SRFI}) (srfi :64))" > test-r6rs.sps
|
cd ${TMPDIR} && echo "(import (rnrs) (foreign c) (srfi :${SRFI}) (srfi :64))" > test-r6rs.sps
|
||||||
cd ${TMPDIR} && cat srfi/${SRFI}/test.scm >> test-r6rs.sps
|
cd ${TMPDIR} && cat srfi/${SRFI}/test.scm >> test-r6rs.sps
|
||||||
cd ${TMPDIR} && akku install chez-srfi akku-r7rs #"(foreign c)" "(retropikzel shell)"
|
cd ${TMPDIR} && akku install chez-srfi akku-r7rs #"(foreign c)" "(retropikzel shell)"
|
||||||
cd ${TMPDIR} && 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
|
||||||
cd ${TMPDIR} && ./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-srfi-test-${SCHEME} .
|
docker build --build-arg IMAGE=${DOCKERIMG} --build-arg SCHEME=${SCHEME} --tag=foreign-c-srfi-test-${SCHEME} -f Dockerfile.test .
|
||||||
docker run -t foreign-c-srfi-test-${SCHEME} sh -c "make SCHEME=${SCHEME} SRFI=${SRFI} test-r6rs"
|
docker run -t foreign-c-srfi-test-${SCHEME} sh -c "make SCHEME=${SCHEME} SRFI=${SRFI} test-r6rs"
|
||||||
|
|
||||||
tmpdir:
|
tmpdir:
|
||||||
|
|
|
||||||
|
|
@ -8,17 +8,18 @@
|
||||||
(display "Testing TCP socket")
|
(display "Testing TCP socket")
|
||||||
(newline)
|
(newline)
|
||||||
|
|
||||||
(debug (address-family inet))
|
;(debug (address-family inet))
|
||||||
(debug (address-info v4mapped addrconfig))
|
;(debug (address-info v4mapped addrconfig))
|
||||||
(debug (socket-domain stream))
|
;(debug (socket-domain stream))
|
||||||
(debug (ip-protocol ip))
|
;(debug (ip-protocol ip))
|
||||||
|
|
||||||
(c-system (string->c-utf8 (string-append "echo \"lol\" | nc -l " sock1-port "&")))
|
(c-system (string->c-utf8 (string-append "echo \"lol\" | nc -l " sock1-port "&")))
|
||||||
|
|
||||||
(define sock1 (make-client-socket "127.0.0.1" sock1-port))
|
(define sock1 (make-client-socket "127.0.0.1" sock1-port))
|
||||||
|
|
||||||
(debug sock1)
|
;(debug sock1)
|
||||||
(debug (utf8->string (socket-recv sock1 3)))
|
(write (utf8->string (socket-recv sock1 3)))
|
||||||
|
(newline)
|
||||||
|
|
||||||
(socket-send sock1 (string->utf8 "Hello from sock1\n"))
|
(socket-send sock1 (string->utf8 "Hello from sock1\n"))
|
||||||
|
|
||||||
|
|
@ -26,15 +27,16 @@
|
||||||
|
|
||||||
|
|
||||||
(define sock2 (make-server-socket sock2-port))
|
(define sock2 (make-server-socket sock2-port))
|
||||||
(debug sock2)
|
;(debug sock2)
|
||||||
|
|
||||||
(display (string-append "run: echo \"lol\" | nc 127.0.0.1 " sock2-port))
|
(display (string-append "run: echo \"lol\" | nc 127.0.0.1 " sock2-port))
|
||||||
(newline)
|
(newline)
|
||||||
|
|
||||||
(define client-sock1 (socket-accept sock2))
|
(define client-sock1 (socket-accept sock2))
|
||||||
(debug client-sock1)
|
;(debug client-sock1)
|
||||||
|
|
||||||
(socket-send client-sock1 (string->utf8 "Hello from client-sock1\n"))
|
(socket-send client-sock1 (string->utf8 "Hello from client-sock1\n"))
|
||||||
|
|
||||||
(debug (utf8->string (socket-recv client-sock1 3)))
|
(write (utf8->string (socket-recv client-sock1 3)))
|
||||||
|
(newline)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
(define-library
|
||||||
|
(srfi 106)
|
||||||
|
(import (scheme base)
|
||||||
|
(scheme write)
|
||||||
|
(scheme process-context)
|
||||||
|
(foreign c))
|
||||||
|
(export make-client-socket
|
||||||
|
make-server-socket
|
||||||
|
socket?
|
||||||
|
socket-accept
|
||||||
|
socket-send
|
||||||
|
socket-recv
|
||||||
|
socket-shutdown
|
||||||
|
socket-close
|
||||||
|
;socket-input-port
|
||||||
|
;socket-output-port
|
||||||
|
call-with-socket
|
||||||
|
address-family
|
||||||
|
address-info
|
||||||
|
socket-domain
|
||||||
|
ip-protocol
|
||||||
|
message-type
|
||||||
|
shutdown-method
|
||||||
|
socket-merge-flags
|
||||||
|
socket-purge-flags
|
||||||
|
*af-inet*
|
||||||
|
*af-inet6*
|
||||||
|
*af-unspec*
|
||||||
|
*sock-stream*
|
||||||
|
*sock-dgram*
|
||||||
|
*ai-canonname*
|
||||||
|
*ai-numerichost*
|
||||||
|
*ai-v4mapped*
|
||||||
|
*ai-all*
|
||||||
|
*ai-addrconfig*
|
||||||
|
*ipproto-ip*
|
||||||
|
*ipproto-tcp*
|
||||||
|
*ipproto-udp*
|
||||||
|
*msg-peek*
|
||||||
|
*msg-oob*
|
||||||
|
*msg-waitall*
|
||||||
|
*shut-rd*
|
||||||
|
*shut-wr*
|
||||||
|
*shut-rdwr*)
|
||||||
|
(include "106.scm"))
|
||||||
|
|
||||||
Loading…
Reference in New Issue