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:
Jan Nieuwenhuizen 2018-07-21 13:48:50 +02:00
parent f703598656
commit 4f2c685753
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273
64 changed files with 308 additions and 252 deletions

1
.gitignore vendored
View file

@ -12,6 +12,7 @@
*.gcc-stdout
*.go
*.guile
*.guile-log
*.log
*.mes-gcc
*.mes-gcc-o

91
build-aux/check-mes.sh Executable file
View 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

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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"))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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)

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile

View file

@ -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))

View file

@ -1 +0,0 @@
base.test-guile