Moved tests to their own files

This commit is contained in:
retropikzel 2024-05-18 11:20:28 +03:00
parent a9c44faf6d
commit 2d9589a1a4
20 changed files with 101 additions and 86 deletions

View File

@ -1,29 +1,12 @@
.PHONY: test/import.scm test/import.scm test/pffi-define.scm test/size-of.scm
.PHONY: test
VERSION=v0-1-0
GUILE=GUILE_AUTO_COMPILE=0 guile --no-auto-compile --fresh-auto-compile --r7rs -L .
RACKET=racket -I r7rs --make -S $(shell pwd) --script
STKLOS=STKLOS_FRAMES=200 stklos -A . --compiler-flags='+line-info,+time-display,unroll-iterations=3' -f
KAWA=java --add-exports java.base/jdk.internal.foreign.abi=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign.layout=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED --enable-native-access=ALL-UNNAMED --enable-preview -jar kawa.jar --r7rs --full-tailcalls -Dkawa.import.path=".."
CYCLONE=cyclone -t -A .
CHICKEN=csc -X r7rs -R r7rs
CHICKEN_I=csi -R r7rs
GERBIL=gxc -prelude :scheme/r7rs -exe
GERBIL_I=gxi --lang r7rs
VERSION=$(shell cat VERSION)
build: build-main-scm
build-main-scm:
cp retropikzel/pffi/${VERSION}/main.sld retropikzel/pffi/${VERSION}/main.scm
build-main-chicken:
cp retropikzel/pffi/${VERSION}/main.sld retropikzel/pffi/${VERSION}/retropikzel.pffi.${VERSION}.main.scm
cp retropikzel/pffi/${VERSION}/chicken.scm retropikzel/pffi/${VERSION}/retropikzel.pffi.${VERSION}.chicken.scm
cp retropikzel/pffi/${VERSION}/main.sld retropikzel.pffi.${VERSION}.main.scm
cp retropikzel/pffi/${VERSION}/chicken.scm retropikzel.pffi.${VERSION}.chicken.scm
${CHICKEN} -sJ retropikzel.pffi.${VERSION}.chicken.scm
${CHICKEN} -sJ retropikzel.pffi.${VERSION}.main.scm
update-documentation:
schubert document
mkdir -p docutmp
@ -36,44 +19,12 @@ documentation:
schubert document
VERSION=${VERSION} bash doc/generate.sh > documentation.md
test/import.scm: clean build
${GUILE} $@
${RACKET} $@
${STKLOS} $@
${KAWA} $@
${CYCLONE} $@ && test/import
#${GAMBIT} -exe $@ && ./test/import
${CHICKEN} $@ && ./test/import
#${GERBIL} $@
test/pffi-define.scm: clean build
${GUILE} $@
${RACKET} $@
${KAWA} $@
${CHICKEN} -L -lcurl $@ && ./test/pffi-define
test/pffi-define.scm: clean build
${GAMBIT} -ld-options -lcurl -exe $@ && ./test/pffi-define
test/size-of.scm:
${GUILE} $@
${KAWA} $@
test/pointer-set-get.scm:
${GUILE} $@
#${RACKET} $@
#${STKLOS} $@
${KAWA} $@
test/string-to-pointer-to-string.scm:
${GUILE} $@
#${RACKET} $@
#${STKLOS} $@
${KAWA} $@
tmp:
mkdir -p tmp
test:
bash test-all.sh
clean:
rm -rf docutmp
rm -rf retropikzel/pffi/${VERSION}/*.c

1
VERSION Normal file
View File

@ -0,0 +1 @@
v0-1-0

View File

@ -80,7 +80,7 @@
(define pffi-pointer->string
(lambda (pointer)
(cpointer->string pointer)))
pointer))
(define pffi-pointer->bytevector
(lambda (pointer size)

View File

@ -1,4 +1,7 @@
set -eu
make clean
make build
make tmp
VERSION=$(cat VERSION)

View File

@ -0,0 +1,6 @@
${SCHEME} ./test/import.scm
./test/import
${SCHEME} ./test/pffi-define.scm
./test/pffi-define

View File

@ -1,6 +1,7 @@
${SCHEME} ./test/hello.scm
${SCHEME} ./test/import.scm
${SCHEME} ./test/pffi-define.scm
${SCHEME} ./test/size-of.scm
${SCHEME} ./test/pointer-set-get.scm
${SCHEME} ./test/string-to-pointer-to-string.scm
${SCHEME} ./test/pffi-define.scm

10
test-all.sh Normal file
View File

@ -0,0 +1,10 @@
#!/usr/bin/env bash
for testfile in ./test-*.sh
do
if [[ ! "${testfile}" = "./test-all.sh" ]];
then
bash "${testfile}"
fi
done

16
test-chicken.sh Normal file
View File

@ -0,0 +1,16 @@
#!/usr/bin/env bash
source scripts/init-test.sh
SCHEME="csc -X r7rs -R r7rs -L -lcurl"
SCHEME_LIB="csc -X r7rs -R r7rs -sJ"
SCHEME_I="csi -R r7rs"
cp retropikzel/pffi/${VERSION}/main.sld retropikzel/pffi/${VERSION}/retropikzel.pffi.${VERSION}.main.scm
cp retropikzel/pffi/${VERSION}/chicken.scm retropikzel/pffi/${VERSION}/retropikzel.pffi.${VERSION}.chicken.scm
cp retropikzel/pffi/${VERSION}/main.sld retropikzel.pffi.${VERSION}.main.scm
cp retropikzel/pffi/${VERSION}/chicken.scm retropikzel.pffi.${VERSION}.chicken.scm
${SCHEME_LIB} retropikzel.pffi.${VERSION}.chicken.scm
${SCHEME_LIB} retropikzel.pffi.${VERSION}.main.scm
source scripts/test-runs-compilers.sh

9
test-cyclone.sh Normal file
View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
source scripts/init-test.sh
SCHEME="cyclone -A ."
SCHEME_LIB="cyclone -A ."
SCHEME_I="icyc -A . -s"
source scripts/test-runs-compilers.sh

View File

@ -2,15 +2,13 @@
source scripts/init-test.sh
VERSION=v0-1-0
SCHEME="gsc -:r7rs,search=."
SCHEME="gsc -:r7rs,search=. -ld-options -lcurl -exe"
SCHEME_LIB="gsc -:r7rs,search=. -obj"
SCHEME_I="gsi -:r7rs,search=."
${SCHEME} -obj retropikzel/pffi/${VERSION}/gambit.scm
${SCHEME} -obj retropikzel/pffi/${VERSION}/main.sld
${SCHEME_I} ./test/import.scm
${SCHEME} -o ./tmp/import ./test/import.scm
./tmp/import
${SCHEME_LIB} retropikzel/pffi/${VERSION}/gambit.scm
${SCHEME_LIB} retropikzel/pffi/${VERSION}/main.sld
source scripts/test-runs-compilers.sh

9
test-gerbil.sh Normal file
View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
source scripts/init-test.sh
SCHEME="gxc -prelude :scheme/r7rs -exe"
SCHEME_LIB="gxc -prelude :scheme/r7rs"
SCHEME_I="gxi --lang r7rs"
source scripts/test-runs-compilers.sh

6
test-guile.sh Normal file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
source scripts/init-test.sh
SCHEME="guile --no-auto-compile --fresh-auto-compile --r7rs -L ."
source scripts/test-runs-dynamic.sh

6
test-kawa.sh Normal file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
source scripts/init-test.sh
SCHEME="java --add-exports java.base/jdk.internal.foreign.abi=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign.layout=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED --enable-native-access=ALL-UNNAMED --enable-preview -jar kawa.jar --r7rs --full-tailcalls -Dkawa.import.path=.."
source scripts/test-runs-dynamic.sh

6
test-racket.sh Normal file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
source scripts/init-test.sh
SCHEME="racket -I r7rs --make -S . --script"
source scripts/test-runs-dynamic.sh

6
test-stklos.sh Normal file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
source scripts/init-test.sh
SCHEME="stklos -A . -f"
source scripts/test-runs-dynamic.sh

View File

@ -1,6 +1,5 @@
(import (scheme base)
(scheme write)
(retropikzel pffi v0.1.0 main))
(scheme write))
(display "Hello")
(newline)

View File

@ -1,10 +1,8 @@
(import (scheme base)
(scheme write)
;(retropikzel pffi v0-1-0 main)
(retropikzel pffi v0-1-0 main))
)
(display "Hello")
(display "Hello from import.scm")
(newline)

View File

@ -4,24 +4,14 @@
(scheme eval)
(retropikzel pffi v0-1-0 main))
;(define libcurl (pffi-shared-object-auto-load (list "curl/curl.h") "curl" (list)))
(define libcurl (pffi-shared-object-auto-load (list "curl/curl.h") "curl" (list)))
(c-declare "#include <curl/curl.h>")
;(display libcurl)
;(newline)
(define curl-version
(c-lambda ()
char-string
"curl_version"))
;(pffi-define curl-version libcurl 'curl_version 'string (list))
(pffi-define curl-version libcurl 'curl_version 'string (list))
(display "=================")
(newline)
(display (curl-version))
;(display (pffi-pointer->string (curl-version)))
(display (pffi-pointer->string (curl-version)))
(newline)
(display "=================")

View File

@ -1,6 +1,6 @@
(import (scheme base)
(scheme write)
(retropikzel pffi v0.1.0 main))
(retropikzel pffi v0-1-0 main))
(define p (pffi-pointer-allocate (+ (* (pffi-size-of 'uint32) 3)
(* (pffi-size-of 'uint8) 4)

View File

@ -1,6 +1,6 @@
(import (scheme base)
(scheme write)
(retropikzel pffi v0.1.0 main))
(retropikzel pffi v0-1-0 main))
(define p (pffi-string->pointer "Hello world"))