build: Refactor mes tests.
* build-aux/check-mes.sh: New file. * check.sh: Invoke it for Guile and Mes. * .gitignore: Ignore new guile logs. * mes/module/mes/boot-0.scm: Ignore some standard Guile options. * module/mes/test.scm: Make a module. * tests/base.test: Use it. Make a module, support invoking with Guile or Mes alike. * tests/boot.test: Likewise. * tests/catch.test: Likewise. * tests/closure.test: Likewise. * tests/cwv.test: Likewise. * tests/display.test: Likewise. * tests/fluids.test: Likewise. * tests/getopt-long.test: Likewise. * tests/guile.test: Likewise. * tests/let-syntax.test: Likewise. * tests/let.test: Likewise. * tests/match.test: Likewise. * tests/math.test: Likewise. * tests/module.test: Likewise. * tests/optargs.test: Likewise. * tests/peg.test: Likewise. * tests/pmatch.test: Likewise. * tests/psyntax.test: Likewise. * tests/quasiquote.test: Likewise. * tests/read.test: Likewise. * tests/scm.test: Likewise. * tests/srfi-13.test: Likewise. * tests/srfi-14.test: Likewise. * tests/srfi-16.test: Likewise. * tests/srfi-1.test: Likewise. * tests/srfi-43.test: Likewise. * tests/srfi-9.test: Likewise. * tests/syntax.test: Likewise. * tests/vector.test: Likewise. * tests/base.test-guile: Remove. * tests/boot.test-guile: Remove. * tests/catch.test-guile: Remove. * tests/closure.test-guile: Remove. * tests/cwv.test-guile: Remove. * tests/display.test-guile: Remove. * tests/fluids.test-guile: Remove. * tests/getopt-long.test-guile: Remove. * tests/guile.test-guile: Remove. * tests/let-syntax.test-guile: Remove. * tests/let.test-guile: Remove. * tests/match.test-guile: Remove. * tests/math.test-guile: Remove. * tests/module.test-guile: Remove. * tests/optargs.test-guile: Remove. * tests/peg.test-guile: Remove. * tests/pmatch.test-guile: Remove. * tests/psyntax.test-guile: Remove. * tests/quasiquote.test-guile: Remove. * tests/read.test-guile: Remove. * tests/scm.test-guile: Remove. * tests/srfi-13.test-guile: Remove. * tests/srfi-14.test-guile: Remove. * tests/srfi-16.test-guile: Remove. * tests/srfi-1.test-guile: Remove. * tests/srfi-43.test-guile: Remove. * tests/srfi-9.test-guile: Remove. * tests/syntax.test-guile: Remove. * tests/vector.test-guile: Remove.
This commit is contained in:
parent
f703598656
commit
4f2c685753
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -12,6 +12,7 @@
|
|||
*.gcc-stdout
|
||||
*.go
|
||||
*.guile
|
||||
*.guile-log
|
||||
*.log
|
||||
*.mes-gcc
|
||||
*.mes-gcc-o
|
||||
|
|
91
build-aux/check-mes.sh
Executable file
91
build-aux/check-mes.sh
Executable file
|
@ -0,0 +1,91 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Mes --- Maxwell Equations of Software
|
||||
# Copyright © 2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
#
|
||||
# This file is part of Mes.
|
||||
#
|
||||
# Mes is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# Mes is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
export BASH
|
||||
export GUILE MES MES_ARENA
|
||||
export BUILD_DEBUG
|
||||
|
||||
if [ "$MES" = guile ]; then
|
||||
mes=guile-
|
||||
fi
|
||||
BASH=${BASH-bash}
|
||||
GUILE=${GUILE-guile}
|
||||
MES=${MES-src/mes}
|
||||
MES_ARENA=${MES_ARENA-100000000}
|
||||
|
||||
set -e
|
||||
|
||||
tests="
|
||||
tests/boot.test
|
||||
tests/read.test
|
||||
tests/base.test
|
||||
tests/quasiquote.test
|
||||
tests/let.test
|
||||
tests/closure.test
|
||||
tests/scm.test
|
||||
tests/display.test
|
||||
tests/cwv.test
|
||||
tests/math.test
|
||||
tests/vector.test
|
||||
tests/srfi-1.test
|
||||
tests/srfi-9.test
|
||||
tests/srfi-13.test
|
||||
tests/srfi-14.test
|
||||
tests/srfi-43.test
|
||||
tests/optargs.test
|
||||
tests/fluids.test
|
||||
tests/catch.test
|
||||
tests/getopt-long.test
|
||||
tests/guile.test
|
||||
tests/syntax.test
|
||||
tests/let-syntax.test
|
||||
tests/pmatch.test
|
||||
tests/match.test
|
||||
tests/psyntax.test
|
||||
"
|
||||
|
||||
slow_or_broken="
|
||||
tests/peg.test
|
||||
"
|
||||
|
||||
set +e
|
||||
fail=0
|
||||
total=0
|
||||
for t in $tests; do
|
||||
if [ ! -f $t ]; then
|
||||
echo $t: [SKIP];
|
||||
continue
|
||||
fi
|
||||
sh "$t" &> $t.${mes}log
|
||||
r=$?
|
||||
total=$((total+1))
|
||||
if [ $r = 0 ]; then
|
||||
echo $t: [${mes}OK]
|
||||
else
|
||||
echo $t: [${mes}FAIL]
|
||||
fail=$((fail+1))
|
||||
fi
|
||||
done
|
||||
if [ $fail != 0 ]; then
|
||||
echo FAILED: $fail/$total
|
||||
exit 1
|
||||
else
|
||||
echo PASS: $total
|
||||
fi
|
70
check.sh
70
check.sh
|
@ -18,83 +18,21 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
export BASH
|
||||
export CC32
|
||||
export GUILE MES MES_ARENA
|
||||
export BUILD_DEBUG
|
||||
|
||||
BASH=${BASH-bash}
|
||||
CC32=${CC32-$(command -v i686-unknown-linux-gnu-gcc)}
|
||||
GUILE=${GUILE-guile}
|
||||
MES=${MES-src/mes}
|
||||
MES_ARENA=${MES_ARENA-100000000}
|
||||
prefix=
|
||||
|
||||
if ! command -v $GUILE > /dev/null; then
|
||||
GUILE=true
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
[ "$GUILE" != true ] && MES=guile bash build-aux/check-mes.sh
|
||||
bash build-aux/check-mes.sh
|
||||
bash build-aux/check-boot.sh
|
||||
|
||||
tests="
|
||||
tests/boot.test
|
||||
tests/read.test
|
||||
tests/base.test
|
||||
tests/quasiquote.test
|
||||
tests/let.test
|
||||
tests/closure.test
|
||||
tests/scm.test
|
||||
tests/display.test
|
||||
tests/cwv.test
|
||||
tests/math.test
|
||||
tests/vector.test
|
||||
tests/srfi-1.test
|
||||
tests/srfi-9.test
|
||||
tests/srfi-13.test
|
||||
tests/srfi-14.test
|
||||
tests/srfi-43.test
|
||||
tests/optargs.test
|
||||
tests/fluids.test
|
||||
tests/catch.test
|
||||
tests/getopt-long.test
|
||||
tests/guile.test
|
||||
tests/syntax.test
|
||||
tests/let-syntax.test
|
||||
tests/pmatch.test
|
||||
tests/match.test
|
||||
tests/psyntax.test
|
||||
"
|
||||
|
||||
slow_or_broken="
|
||||
tests/peg.test
|
||||
"
|
||||
|
||||
tests=$(for t in $tests; do echo $t-guile; echo $t; done)
|
||||
|
||||
set +e
|
||||
fail=0
|
||||
total=0
|
||||
for t in $tests; do
|
||||
if [ ! -f $t ]; then
|
||||
echo $t: [SKIP];
|
||||
continue
|
||||
fi
|
||||
sh "$t" &> $t.log
|
||||
r=$?
|
||||
total=$((total+1))
|
||||
if [ $r = 0 ]; then
|
||||
echo $t: [OK]
|
||||
else
|
||||
echo $t: [FAIL]
|
||||
fail=$((fail+1))
|
||||
fi
|
||||
done
|
||||
if [ $fail != 0 ]; then
|
||||
echo FAILED: $fail/$total
|
||||
exit 1
|
||||
else
|
||||
echo PASS: $total
|
||||
fi
|
||||
|
||||
$BASH build-aux/check-mescc.sh
|
||||
bash build-aux/check-mescc.sh
|
||||
|
|
|
@ -244,7 +244,8 @@
|
|||
(let ((tty? (isatty? 0)))
|
||||
(define (parse-opts args)
|
||||
(let* ((option-spec
|
||||
'((compiled-path (single-char #\C) (value #t))
|
||||
'((no-auto-compile)
|
||||
(compiled-path (single-char #\C) (value #t))
|
||||
(dump)
|
||||
(help (single-char #\h))
|
||||
(load)
|
||||
|
@ -279,14 +280,18 @@ Evaluate code with Mes, interactively or from a script.
|
|||
The above switches stop argument processing, and pass all
|
||||
remaining arguments as the value of (command-line).
|
||||
|
||||
-C,--compiled-path=DIR
|
||||
ignored for Guile compatibility
|
||||
--dump dump binary program to stdout
|
||||
-e,--main=MAIN after reading script, apply MAIN to command-line arguments
|
||||
-h, --help display this help and exit
|
||||
--load load binary program [module/mes/boot-0.32-mo]
|
||||
-L,--load-path=DIR add DIR to the front of the module load path
|
||||
-v, --version display version information and exit
|
||||
|
||||
Ignored for Guile compatibility:
|
||||
--auto-compile
|
||||
--fresh-auto-compile
|
||||
--no-auto-compile
|
||||
-C,--compiled-path=DIR
|
||||
" (or (and usage? (current-error-port)) (current-output-port)))
|
||||
(exit (or (and usage? 2) 0)))
|
||||
options)
|
||||
|
|
|
@ -25,7 +25,23 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(define-module (mes mes-0)
|
||||
#:export (
|
||||
builtin?
|
||||
mes-use-module
|
||||
EOF
|
||||
append2
|
||||
mes?
|
||||
guile?
|
||||
guile-1.8?
|
||||
guile-2?
|
||||
))
|
||||
|
||||
(define-macro (mes-use-module . rest) #t)
|
||||
(define builtin? procedure?) ; not strictly true, but ok for tests/*.test
|
||||
(define mes? #f)
|
||||
(define guile? #t)
|
||||
(define guile-1.8? (equal? (effective-version) "1.8"))
|
||||
(define guile-2? (equal? (major-version) "2"))
|
||||
(define EOF (if #f #f))
|
||||
(define append2 append)
|
||||
|
|
|
@ -25,6 +25,17 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(define-module (mes test)
|
||||
#:export (
|
||||
pass-if
|
||||
pass-if-equal
|
||||
pass-if-not
|
||||
pass-if-eq
|
||||
result
|
||||
seq? ; deprecated
|
||||
sequal? ; deprecated
|
||||
))
|
||||
|
||||
(cond-expand
|
||||
(mes
|
||||
(define mes? #t)
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests base)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests base)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Mes --- Maxwell Equations of Software
|
||||
# Copyright © 2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
#
|
||||
# This file is part of Mes.
|
||||
#
|
||||
# Mes is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# Mes is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
test=$(dirname $0)/$(basename $0 -guile)
|
||||
GUILE=${GUILE-guile}
|
||||
cat module/mes/mes-0.scm module/mes/test.scm $test | exec $GUILE --no-auto-compile -L module-guile -C module-guile -L module -C module -s /dev/stdin
|
|
@ -1,9 +1,12 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
export MES_BOOT=boot-02.scm
|
||||
$MES < $0
|
||||
exit $?
|
||||
if [ "$MES" != guile ]; then
|
||||
export MES_BOOT=boot-02.scm
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES < $0
|
||||
exit $?
|
||||
fi
|
||||
exec ${MES-mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests boot)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -26,8 +29,16 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(begin
|
||||
(define-module (tests boot)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(cond-expand
|
||||
(mes
|
||||
(primitive-load "module/mes/test.scm"))
|
||||
(guile-2)
|
||||
(guile
|
||||
(use-modules (ice-9 syncase))))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests catch)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests base)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes catch))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
@ -67,4 +69,3 @@ exit $?
|
|||
22)))))
|
||||
|
||||
(result 'report)
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests closure)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests closure)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests cwv)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests cwv)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes scm))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,14 +1,11 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests display)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
||||
;;; Mes --- Maxwell Equations of Software
|
||||
;;; Copyright © 2016 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of Mes.
|
||||
;;;
|
||||
|
@ -25,6 +22,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests display)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes display))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests fluids)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests fluids)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes fluids))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,5 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests getopt-long)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,12 +22,16 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests getopt-long)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test)
|
||||
#:use-module (mes getopt-long))
|
||||
|
||||
(cond-expand
|
||||
(guile
|
||||
(use-modules (mes getopt-long)))
|
||||
(mes
|
||||
(mes-use-module (mes getopt-long))
|
||||
(mes-use-module (mes test))))
|
||||
(mes-use-module (mes test)))
|
||||
(else))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests guile)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,15 +23,16 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;(if guile? (exit 0))
|
||||
(define-module (tests guile)
|
||||
#:use-module (ice-9 rdelim)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(cond-expand
|
||||
;;(guile-2)
|
||||
(guile
|
||||
(use-modules (ice-9 rdelim)))
|
||||
(mes
|
||||
(mes-use-module (mes test))
|
||||
(mes-use-module (mes guile))))
|
||||
(mes-use-module (mes guile)))
|
||||
(else))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests let-syntax)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests let-syntax)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes syntax))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests let)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests let)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes let))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests match)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests match)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes match))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests math)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests math)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes test))
|
||||
(pass-if-equal "string->number" 42 (string->number "42"))
|
||||
(pass-if-equal "string->number neg" -42 (string->number "-42"))
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests module)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests module)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests optargs)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,12 +23,16 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests optargs)
|
||||
#:use-module (ice-9 optargs)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(cond-expand
|
||||
(guile
|
||||
(use-modules (ice-9 optargs)))
|
||||
(mes
|
||||
(mes-use-module (mes optargs))
|
||||
(mes-use-module (mes test))))
|
||||
(mes-use-module (mes test)))
|
||||
(else))
|
||||
|
||||
(pass-if-equal "cond =>" 10
|
||||
(cond
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests peg)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,17 +23,20 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests peg)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(cond-expand
|
||||
(mes
|
||||
(mes-use-module (mes peg))
|
||||
(mes-use-module (mes test)))
|
||||
(guile-2.2
|
||||
(use-modules (ice-9 peg)))
|
||||
(guile
|
||||
(use-modules (ice-9 syncase))
|
||||
(display "guile 2.0: no PEG\n" (current-error-port))
|
||||
(exit 0))
|
||||
(mes
|
||||
(mes-use-module (mes peg))
|
||||
(mes-use-module (mes test))))
|
||||
(exit 0)))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
@ -56,7 +57,7 @@ NL < '\n'")
|
|||
(pass-if-equal "peg-tree"
|
||||
(map (lambda (x) (list 'entry x)) (string-split *etc-passwd* #\newline))
|
||||
(peg:tree (match-pattern string-passwd *etc-passwd*)))
|
||||
|
||||
|
||||
(define-peg-pattern passwd body (and (* entry) (not-followed-by peg-any)))
|
||||
(define-peg-pattern entry all (and (* (and (not-followed-by NL) peg-any))
|
||||
(* NL)))
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,14 +1,12 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests pmatch)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
||||
;;; Mes --- Maxwell Equations of Software
|
||||
;;; Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of Mes.
|
||||
;;;
|
||||
|
@ -25,16 +23,16 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests pmatch)
|
||||
#:use-module (system base pmatch)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(cond-expand
|
||||
(guile
|
||||
(use-modules (system base pmatch))
|
||||
;;(include-from-path "mes/pmatch.scm")
|
||||
;;(include-from-path "mes-0.scm")
|
||||
;;(include-from-path "mes/test.mes")
|
||||
)
|
||||
(mes
|
||||
(mes-use-module (mes test))
|
||||
(mes-use-module (mes pmatch))))
|
||||
(mes-use-module (mes pmatch)))
|
||||
(else))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests psyntax)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,7 +23,14 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests psyntax)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(cond-expand
|
||||
(mes
|
||||
(mes-use-module (mes psyntax))
|
||||
(mes-use-module (mes test)))
|
||||
(guile-2.2
|
||||
(define sc-expand identity)
|
||||
(define syntax-object->datum syntax->datum)
|
||||
|
@ -37,10 +42,7 @@ exit $?
|
|||
(define-macro (with-ellipsis . stuff) #t))
|
||||
(guile
|
||||
(use-modules (ice-9 syncase))
|
||||
(define sc-expand identity))
|
||||
(mes
|
||||
(mes-use-module (mes psyntax))
|
||||
(mes-use-module (mes test))))
|
||||
(define sc-expand identity)))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,9 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
#paredit:||
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests quasiquote)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -26,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests quasiquote)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes base))
|
||||
(mes-use-module (mes quasiquote))
|
||||
(mes-use-module (mes test))
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -2,8 +2,7 @@
|
|||
# -*-scheme-*-
|
||||
# ***REMOVE THIS BLOCK COMMENT INITIALLY***
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec $MES -s $0
|
||||
!#
|
||||
|
||||
0
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests scm)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests scm)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes scm))
|
||||
(mes-use-module (srfi srfi-0))
|
||||
(mes-use-module (mes test))
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-1)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,7 +23,11 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(cond-expand (guile (use-modules (srfi srfi-1))) (mes))
|
||||
(define-module (tests srfi-1)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (srfi srfi-1))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-13)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests srfi-13)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (srfi srfi-13))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-14)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,7 +23,11 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(cond-expand (guile (use-modules (srfi srfi-14))) (mes))
|
||||
(define-module (tests srfi-14)
|
||||
#:use-module (srfi srfi-14)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (srfi srfi-14))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
@ -48,4 +50,3 @@ exit $?
|
|||
(char-set= (char-set #\a #\b #\c #\d) (string->char-set! "d" (string->char-set "abc"))))
|
||||
|
||||
(result 'report)
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-16)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests srfi-16)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (srfi srfi-16))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
@ -42,4 +44,3 @@ exit $?
|
|||
((x) 1)) #f))
|
||||
|
||||
(result 'report)
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-43)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,9 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(cond-expand
|
||||
(mes)
|
||||
(guile (use-modules (srfi srfi-43))))
|
||||
(define-module (tests srfi-43)
|
||||
#:use-module (srfi srfi-43)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (srfi srfi-43))
|
||||
(mes-use-module (mes test))
|
||||
|
@ -46,4 +45,3 @@ exit $?
|
|||
g))
|
||||
|
||||
(result 'report)
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-9)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,15 +23,18 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests srfi-9)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-9 gnu)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(cond-expand
|
||||
(mes
|
||||
(mes-use-module (srfi srfi-9))
|
||||
(mes-use-module (srfi srfi-9 gnu))
|
||||
(mes-use-module (mes test)))
|
||||
(guile
|
||||
(use-modules (srfi srfi-9))
|
||||
(use-modules (srfi srfi-9 gnu))))
|
||||
(else))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests syntax)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests syntax)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes test))
|
||||
(mes-use-module (mes syntax))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
|
@ -1,8 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/../src/mes}
|
||||
$MES -s $0
|
||||
exit $?
|
||||
exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests vector)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
@ -25,6 +23,10 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests vector)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes scm))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
base.test-guile
|
Loading…
Reference in a new issue