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 \
|
||||
&& mv akku-1.1.0.amd64-linux akku
|
||||
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
|
||||
WORKDIR /build/chibi-scheme
|
||||
RUN make
|
||||
|
|
@ -38,14 +38,13 @@ RUN bash install.sh
|
|||
ENV PATH=/root/.local/bin:${PATH}
|
||||
RUN akku update
|
||||
WORKDIR /build/foreign-c
|
||||
RUN timeout 30 snow-chibi install --impls=${SCHEME} --always-yes "(srfi 64)" || true
|
||||
RUN timeout 30 snow-chibi install --impls=${SCHEME} --always-yes "(foreign c)" || true
|
||||
RUN timeout 30 snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel shell)" || true
|
||||
RUN timeout 30 snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel debug)" || true
|
||||
RUN snow-chibi install --impls=${SCHEME} --always-yes "(srfi 64)"
|
||||
RUN snow-chibi install --impls=${SCHEME} --always-yes "(foreign c)"
|
||||
RUN snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel shell)"
|
||||
RUN snow-chibi install --impls=${SCHEME} --always-yes "(retropikzel debug)"
|
||||
RUN make SCHEME=${SCHEME} build install
|
||||
WORKDIR /workdir
|
||||
RUN cp -r /build/foreign-c-libraries/retropikzel retropikzel/
|
||||
RUN cp -r /build/foreign-c/foreign .
|
||||
COPY Makefile .
|
||||
COPY srfi srfi/
|
||||
COPY foreign foreign/
|
||||
8
Makefile
8
Makefile
|
|
@ -33,24 +33,24 @@ uninstall:
|
|||
|
||||
test-r7rs: tmpdir
|
||||
@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} && COMPILE_R7RS=${SCHEME} compile-scheme -I . -o test-r7rs test-r7rs.scm
|
||||
cd ${TMPDIR} && printf "\n" | ./test-r7rs
|
||||
|
||||
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"
|
||||
|
||||
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} && 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} && ./test-r6rs
|
||||
|
||||
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"
|
||||
|
||||
tmpdir:
|
||||
|
|
|
|||
|
|
@ -8,17 +8,18 @@
|
|||
(display "Testing TCP socket")
|
||||
(newline)
|
||||
|
||||
(debug (address-family inet))
|
||||
(debug (address-info v4mapped addrconfig))
|
||||
(debug (socket-domain stream))
|
||||
(debug (ip-protocol ip))
|
||||
;(debug (address-family inet))
|
||||
;(debug (address-info v4mapped addrconfig))
|
||||
;(debug (socket-domain stream))
|
||||
;(debug (ip-protocol ip))
|
||||
|
||||
(c-system (string->c-utf8 (string-append "echo \"lol\" | nc -l " sock1-port "&")))
|
||||
|
||||
(define sock1 (make-client-socket "127.0.0.1" sock1-port))
|
||||
|
||||
(debug sock1)
|
||||
(debug (utf8->string (socket-recv sock1 3)))
|
||||
;(debug sock1)
|
||||
(write (utf8->string (socket-recv sock1 3)))
|
||||
(newline)
|
||||
|
||||
(socket-send sock1 (string->utf8 "Hello from sock1\n"))
|
||||
|
||||
|
|
@ -26,15 +27,16 @@
|
|||
|
||||
|
||||
(define sock2 (make-server-socket sock2-port))
|
||||
(debug sock2)
|
||||
;(debug sock2)
|
||||
|
||||
(display (string-append "run: echo \"lol\" | nc 127.0.0.1 " sock2-port))
|
||||
(newline)
|
||||
|
||||
(define client-sock1 (socket-accept sock2))
|
||||
(debug client-sock1)
|
||||
;(debug client-sock1)
|
||||
|
||||
(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