Compare commits
2 Commits
50a45fec01
...
1b98ebe27f
| Author | SHA1 | Date |
|---|---|---|
|
|
1b98ebe27f | |
|
|
b1fb158c9e |
|
|
@ -1,2 +1,2 @@
|
|||
FROM alpine
|
||||
RUN apk add make docker
|
||||
RUN apk add make docker shellcheck
|
||||
|
|
|
|||
|
|
@ -19,6 +19,13 @@ pipeline {
|
|||
}
|
||||
|
||||
stages {
|
||||
stage('shellcheck') {
|
||||
steps {
|
||||
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
|
||||
sh "shellcheck compile-r7rs"
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Test R6RS') {
|
||||
steps {
|
||||
script {
|
||||
|
|
|
|||
49
Makefile
49
Makefile
|
|
@ -1,3 +1,4 @@
|
|||
.SILENT: test
|
||||
PREFIX=/usr/local
|
||||
SCHEME=chibi
|
||||
IMAGE=${SCHEME}:latest
|
||||
|
|
@ -12,30 +13,30 @@ install:
|
|||
install compile-r7rs ${PREFIX}/bin/compile-r7rs
|
||||
|
||||
test:
|
||||
@# Misc
|
||||
@rm -rf .tmp
|
||||
@mkdir -p .tmp
|
||||
@mkdir -p .tmp/libs
|
||||
@mkdir -p .tmp/libs/foo
|
||||
@mkdir -p .tmp/other_libs
|
||||
@# R6RS testfiles
|
||||
@printf "#!r6rs\n(import (rnrs) (foo bar))\n(baz)" > .tmp/main.sps
|
||||
@printf "#!r6rs\n(library (foo bar) (export baz) (import (rnrs)) (define (baz) (display \"Hello from bar.sls\") (newline)))" > .tmp/libs/foo/bar.sls
|
||||
@# Racket compability testfiles
|
||||
@printf "#lang r7rs (import (scheme base)) (include \"bar.sld\")" > .tmp/libs/foo/bar.rkt
|
||||
@# R7RS testfiles
|
||||
@printf "(import (scheme base) (scheme write) (foo bar))\n(baz)" > .tmp/main.scm
|
||||
@printf "(define-library (foo bar) (import (scheme base) (scheme write)) (export baz) (include \"bar.scm\"))" > .tmp/libs/foo/bar.sld
|
||||
@printf "(define (baz) (display \"Hello from bar.scm\") (newline))" > .tmp/libs/foo/bar.scm
|
||||
@# Tests
|
||||
@rm -rf .tmp/main
|
||||
@if [ "${RNRS}" = "r6rs" ]; then cd .tmp && COMPILE_R7RS=${SCHEME} sh ../compile-r7rs -o main -I libs main.sps; fi
|
||||
@if [ "${RNRS}" = "r7rs" ]; then cd .tmp && COMPILE_R7RS=${SCHEME} sh ../compile-r7rs -o main -I libs main.scm; fi
|
||||
@cd .tmp && ./main
|
||||
@rm -rf .tmp/main
|
||||
@if [ "${RNRS}" = "r6rs" ]; then cd .tmp && COMPILE_R7RS=${SCHEME} sh ../compile-r7rs -o main -A libs main.sps; fi
|
||||
@if [ "${RNRS}" = "r7rs" ]; then cd .tmp && COMPILE_R7RS=${SCHEME} sh ../compile-r7rs -o main -A libs main.scm; fi
|
||||
@cd .tmp && ./main
|
||||
# Misc
|
||||
rm -rf .tmp
|
||||
mkdir -p .tmp
|
||||
mkdir -p .tmp/libs
|
||||
mkdir -p .tmp/libs/foo
|
||||
mkdir -p .tmp/other_libs
|
||||
# R6RS testfiles
|
||||
printf "#!r6rs\n(import (rnrs) (foo bar))\n(baz)" > .tmp/main.sps
|
||||
printf "#!r6rs\n(library (foo bar) (export baz) (import (rnrs)) (define (baz) (display \"Hello from bar.sls\") (newline)))" > .tmp/libs/foo/bar.sls
|
||||
# Racket compability testfiles
|
||||
printf "#lang r7rs (import (scheme base)) (include \"bar.sld\")" > .tmp/libs/foo/bar.rkt
|
||||
# R7RS testfiles
|
||||
printf "(import (scheme base) (scheme write) (foo bar))\n(baz)" > .tmp/main.scm
|
||||
printf "(define-library (foo bar) (import (scheme base) (scheme write)) (export baz) (include \"bar.scm\"))" > .tmp/libs/foo/bar.sld
|
||||
printf "(define (baz) (display \"Hello from bar.scm\") (newline))" > .tmp/libs/foo/bar.scm
|
||||
# Tests
|
||||
rm -rf .tmp/main
|
||||
if [ "${RNRS}" = "r6rs" ]; then cd .tmp && COMPILE_R7RS=${SCHEME} sh ../compile-r7rs -o main -I libs main.sps; fi
|
||||
if [ "${RNRS}" = "r7rs" ]; then cd .tmp && COMPILE_R7RS=${SCHEME} sh ../compile-r7rs -o main -I libs main.scm; fi
|
||||
cd .tmp && ./main
|
||||
rm -rf .tmp/main
|
||||
if [ "${RNRS}" = "r6rs" ]; then cd .tmp && COMPILE_R7RS=${SCHEME} sh ../compile-r7rs -o main -A libs main.sps; fi
|
||||
if [ "${RNRS}" = "r7rs" ]; then cd .tmp && COMPILE_R7RS=${SCHEME} sh ../compile-r7rs -o main -A libs main.scm; fi
|
||||
cd .tmp && ./main
|
||||
|
||||
test-docker:
|
||||
docker build --build-arg IMAGE=${IMAGE} --build-arg SCHEME=${SCHEME} -f Dockerfile.test --tag=${SCHEME}-testing .
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ case $rnrs in
|
|||
ikarus) echo "$prefix IKARUS_LIBRARY_PATH=$prepend_dirs:$append_dirs ikarus --r6rs-script" >> "$output_file";;
|
||||
ironscheme) echo "$prefix ironscheme $prepend_dirs $append_dirs" >> "$output_file";;
|
||||
larceny) printf "\n#|\nexec larceny -r6rs -utf8 -quiet -nobanner $prepend_dirs $append_dirs -program \$0 --\n|#\n" >> "$output_file";;
|
||||
loko) LOKO_LIBRARY_PATH="$prepend_dirs:$append_dirs" loko -std=r6rs --compile "$input_file";
|
||||
loko) LOKO_LIBRARY_PATH="$prepend_dirs:$append_dirs" loko --compile "$input_file";
|
||||
if [ ! "${input_file%.sps}" = "$output_file" ]; then mv -f "${input_file%.sps}" "$output_file"; fi;;
|
||||
mosh) echo "$prefix MOSH_LOADPATH=$prepend_dirs:$append_dirs mosh" >> "$output_file";;
|
||||
racket) printf "\n#|\nexec racket -I scheme/init -l r6rs/run.rkt $prepend_dirs $append_dirs \$0 --\n|#\n" >> "$output_file";;
|
||||
|
|
|
|||
Loading…
Reference in New Issue