diff --git a/Jenkinsfile b/Jenkinsfile index f24fc12..1a48b07 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -29,7 +29,7 @@ pipeline { stage("${SCHEME}") { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh "rm -rf logs/*.json" - sh "timeout 6000 make SCHEME=${SCHEME} LIBRARY=${LIBRARY} RNRS=r6rs test" + sh "timeout 6000 make SCHEME=${SCHEME} LIBRARY=${LIBRARY} RNRS=r6rs test-docker" archiveArtifacts(artifacts: "logs/${SCHEME}-${LIBRARY}.ctrf.json", allowEmptyArchive: false, fingerprint: true) } } @@ -48,7 +48,7 @@ pipeline { stage("${SCHEME}") { catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh "rm -rf logs/*.json" - sh "timeout 6000 make SCHEME=${SCHEME} LIBRARY=${LIBRARY} RNRS=r7rs test" + sh "timeout 6000 make SCHEME=${SCHEME} LIBRARY=${LIBRARY} RNRS=r7rs test-docker" archiveArtifacts(artifacts: "logs/${SCHEME}-${LIBRARY}.ctrf.json", allowEmptyArchive: false, fingerprint: true) } } diff --git a/Makefile b/Makefile index 1cb2c9b..d0d3a97 100644 --- a/Makefile +++ b/Makefile @@ -29,11 +29,18 @@ build: retropikzel/${LIBRARY}/LICENSE retropikzel/${LIBRARY}/VERSION retropikzel install: snow-chibi install --impls=${SCHEME} --always-yes ${PKG} -test: build +testfiles: build rm -rf .tmp mkdir -p .tmp cp ${PKG} .tmp/ + cp -r retropikzel .tmp/ cat test-headers.${SFX} ${TESTFILE} | sed 's/LIBRARY/${LIBRARY}/' > .tmp/test.${SFX} + +test: testfiles + cd .tmp && COMPILE_R7RS=${SCHEME} CSC_OPIONS="-L -lcurl" compile-r7rs -o test-program -I . test.${SFX} + cd .tmp && ./test-program + +test-docker: testfiles cd .tmp && SNOW_PACKAGES="srfi.64 retropikzel.mouth" \ APT_PACKAGES="libcurl4-openssl-dev" \ COMPILE_R7RS=${SCHEME} \