build: Refactor mes tests.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 21 Jul 2018 11:48:50 +0000 (13:48 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 21 Jul 2018 11:48:50 +0000 (13:48 +0200)
* 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.

64 files changed:
.gitignore
build-aux/check-mes.sh [new file with mode: 0755]
check.sh
mes/module/mes/boot-0.scm
module/mes/mes-0.scm
module/mes/test.scm
tests/base.test
tests/base.test-guile [deleted file]
tests/boot.test
tests/boot.test-guile [deleted symlink]
tests/catch.test
tests/catch.test-guile [deleted symlink]
tests/closure.test
tests/closure.test-guile [deleted symlink]
tests/cwv.test
tests/cwv.test-guile [deleted symlink]
tests/display.test
tests/display.test-guile [deleted symlink]
tests/fluids.test
tests/fluids.test-guile [deleted symlink]
tests/getopt-long.test
tests/getopt-long.test-guile [deleted symlink]
tests/guile.test
tests/guile.test-guile [deleted symlink]
tests/let-syntax.test
tests/let-syntax.test-guile [deleted symlink]
tests/let.test
tests/let.test-guile [deleted symlink]
tests/match.test
tests/match.test-guile [deleted symlink]
tests/math.test
tests/math.test-guile [deleted symlink]
tests/module.test
tests/module.test-guile [deleted symlink]
tests/optargs.test
tests/optargs.test-guile [deleted symlink]
tests/peg.test
tests/peg.test-guile [deleted symlink]
tests/pmatch.test
tests/pmatch.test-guile [deleted symlink]
tests/psyntax.test
tests/psyntax.test-guile [deleted symlink]
tests/quasiquote.test
tests/quasiquote.test-guile [deleted symlink]
tests/read.test
tests/read.test-guile [deleted symlink]
tests/scm.test
tests/scm.test-guile [deleted symlink]
tests/srfi-1.test
tests/srfi-1.test-guile [deleted symlink]
tests/srfi-13.test
tests/srfi-13.test-guile [deleted symlink]
tests/srfi-14.test
tests/srfi-14.test-guile [deleted symlink]
tests/srfi-16.test
tests/srfi-16.test-guile [deleted symlink]
tests/srfi-43.test
tests/srfi-43.test-guile [deleted symlink]
tests/srfi-9.test
tests/srfi-9.test-guile [deleted symlink]
tests/syntax.test
tests/syntax.test-guile [deleted symlink]
tests/vector.test
tests/vector.test-guile [deleted symlink]

index e3d4095750a89a76846c54570a73f759e6d49ba1..37a55e4a8837243a88e1b43a0bc172a68f6a4b73 100644 (file)
@@ -12,6 +12,7 @@
 *.gcc-stdout
 *.go
 *.guile
+*.guile-log
 *.log
 *.mes-gcc
 *.mes-gcc-o
diff --git a/build-aux/check-mes.sh b/build-aux/check-mes.sh
new file mode 100755 (executable)
index 0000000..94f7c8e
--- /dev/null
@@ -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
index 8407dd511217c1766db276e01bb5413782c60023..75f6d5fde7b97998295dfe9a6055876051032c33 100755 (executable)
--- a/check.sh
+++ b/check.sh
 # 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
-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
+[ "$GUILE" != true ] && MES=guile bash build-aux/check-mes.sh
+bash build-aux/check-mes.sh
+bash build-aux/check-boot.sh
+bash build-aux/check-mescc.sh
index bac5b6a89ab0018b6468520aa1b59f5b9b7ec8d5..a27566e486602f8b97b6676b0cef44458985eb57 100644 (file)
 (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)
index 99a0327d750e292d80c7febc2673595d1a032a69..773c0a1776d6881b63dfd12a1fd3d0cf584f5f59 100644 (file)
 
 ;;; 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)
index 508e4098c7dfe54ff90f4ec5f8e9b78805ad6fbc..00fe961719486e584adb6b57163c6d33e57a07b9 100644 (file)
 
 ;;; 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)
index e9942df9d73d961b6f83a115a76760bf705dc6f6..59e87f34b7cbc0a682b971d98b10bdc74b1c2309 100755 (executable)
@@ -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)
diff --git a/tests/base.test-guile b/tests/base.test-guile
deleted file mode 100755 (executable)
index 8944d1d..0000000
+++ /dev/null
@@ -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
index 86b58354da8853a0326cf0afa60b35d7201bb955..69eee62ee4a2fb761000fdda083e37277a80ae81 100755 (executable)
@@ -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)
diff --git a/tests/boot.test-guile b/tests/boot.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 62ee9e500cf0e56bf223c3645be9615957c20d5f..22491b5b02034c9c266dfe07e2f877edd73c6984 100755 (executable)
@@ -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)
-
diff --git a/tests/catch.test-guile b/tests/catch.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index ea1acdb1104320d69545648744c3d7a738cf506e..c1659a651738e1f3181d17463e09d4ebed96a1d8 100755 (executable)
@@ -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)
diff --git a/tests/closure.test-guile b/tests/closure.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 9713579901420fafd3b8cf8866aa180bada161f7..3c7a6baa65e557c19a471da441af5339eb1199d8 100755 (executable)
@@ -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))
 
diff --git a/tests/cwv.test-guile b/tests/cwv.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 88d49647ed84b78cf13dbf66ed07fb74eb2c06f9..0e5a046f053862c985fd3fcd842b50133909037b 100755 (executable)
@@ -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))
 
diff --git a/tests/display.test-guile b/tests/display.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 3f22eff02b45fdb61ce1668fb9d58c0c34189df5..9e8b7e08d1fb6e6c6c2568fc78dd14aedc518cab 100755 (executable)
@@ -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))
 
diff --git a/tests/fluids.test-guile b/tests/fluids.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 237afa2396b7e85c1ddf66c967bac3a594a8ed7e..e52d97a874ca20829a75052e043160e1dad1c025 100755 (executable)
@@ -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)
diff --git a/tests/getopt-long.test-guile b/tests/getopt-long.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 2939a244b366d9d307429a99dd9cd1b1deca3730..ad584766299f469ad1a2129060e316344bf389b6 100755 (executable)
@@ -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)
diff --git a/tests/guile.test-guile b/tests/guile.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 0df7b2114a06140900dbd8cdadce5e322db83b2a..1b102578071ba47c25cf30a28dcd2699a0c0d52f 100755 (executable)
@@ -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))
 
diff --git a/tests/let-syntax.test-guile b/tests/let-syntax.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 24483ebb3c89af67622b7983bc34230aa3babad7..372ee7b485692bbfcde88bb7e8a007480a86e1d2 100755 (executable)
@@ -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))
 
diff --git a/tests/let.test-guile b/tests/let.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 1be8e5bdeb4a6456dd386420fb7df573097e87c1..c05ff3538b5bb0092663d8acbbb302a047613fbc 100755 (executable)
@@ -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))
 
diff --git a/tests/match.test-guile b/tests/match.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 2be1e4482ce7a327d3849d03858d1d2899eb7426..6a09cfbd57e3f66a71541a876e911394204a53c3 100755 (executable)
@@ -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"))
diff --git a/tests/math.test-guile b/tests/math.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 643645a097ea531c77c64a938434f8df22621c1d..35fd219e484cfb70ac6a4a380f7c93a100a94c7e 100755 (executable)
@@ -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)
diff --git a/tests/module.test-guile b/tests/module.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 63b82f6ee652eae17af40fbad023e466fd87ed83..05263a213c7647d9de327fadf03573075636b38f 100755 (executable)
@@ -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
diff --git a/tests/optargs.test-guile b/tests/optargs.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index f6d40aacff5572be7b349c8e6dcb90a2b7498c78..ee180c0bbc07199455a4a55b1c8b8b83893fa3eb 100755 (executable)
@@ -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)))
diff --git a/tests/peg.test-guile b/tests/peg.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 0c913fc2bf7876ee0cc8a73b24bb284756509544..9779955cdb364b904880f1694de32bc0b2c18a34 100755 (executable)
@@ -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)
diff --git a/tests/pmatch.test-guile b/tests/pmatch.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 64d9cc7e81c4fdf208500e3b20b01db5d7440001..966a0fb1e5b50b2ef962866228424919aabdd96b 100755 (executable)
@@ -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)
diff --git a/tests/psyntax.test-guile b/tests/psyntax.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 042ea5ac9408ab9c59d0647928d73de6f7b3d781..a275dedc4b970195c9f886c5438bb1057bac53a3 100755 (executable)
@@ -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))
diff --git a/tests/quasiquote.test-guile b/tests/quasiquote.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 1b470f8a86b7575253d4bdc3f69ca7ed906131ae..977c4f1fa1414a815ed6133d47ec5d278d48b534 100755 (executable)
@@ -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
diff --git a/tests/read.test-guile b/tests/read.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 98055a9fdf82b1c775e88ee909d3787da2a44e32..d6f3c16f8f01a9842dfc5bb3dee63bebed934135 100755 (executable)
@@ -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))
diff --git a/tests/scm.test-guile b/tests/scm.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index c5fd144358e103fa6774bbf0ada13176a478f029..75ff7f79a5eaa5c536cd4ef9a5c05ef5394944d9 100755 (executable)
@@ -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))
 
diff --git a/tests/srfi-1.test-guile b/tests/srfi-1.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index bad99a1b840e6439abb9a1e020158e63abadd722..527c0e17d27198f189711e14ce6412f0c86aafc3 100755 (executable)
@@ -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))
 
diff --git a/tests/srfi-13.test-guile b/tests/srfi-13.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index c1be2d3fed44c31ee6a12845ec2d91a3d7d299ea..165b40e2ab4bbd00d3ebdf073932ae64488d6080 100755 (executable)
@@ -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)
-
diff --git a/tests/srfi-14.test-guile b/tests/srfi-14.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index f124e67c3462450e29867867703db813820add0a..91656e9c6f54765c34d73386fd7433879bd34449 100755 (executable)
@@ -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)
-
diff --git a/tests/srfi-16.test-guile b/tests/srfi-16.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 3fb6da8db2e8486a32c229f142dce427098646df..0e085d1e45a4b0848075e8bf4c6ecc0cb449c91a 100755 (executable)
@@ -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)
-
diff --git a/tests/srfi-43.test-guile b/tests/srfi-43.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 9d32cbf7f3761988cfe1d8ddb6a39f29ea7fade1..73e3b93458dfdc8b41d57011410c10e616261aa0 100755 (executable)
@@ -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)
diff --git a/tests/srfi-9.test-guile b/tests/srfi-9.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index 115c76d5cce44f139cdd4bc9aa1c2d52c3dcd5be..4b9d9ec7d1790d4c6dfc2cebf9ae814c65345954 100755 (executable)
@@ -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))
 
diff --git a/tests/syntax.test-guile b/tests/syntax.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file
index a63acc695dcd7ae8b0b7c1f2d867eddd61bb5148..bd407fb1e489b8e004c450ed4cfc8a949db8c17d 100755 (executable)
@@ -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))
 
diff --git a/tests/vector.test-guile b/tests/vector.test-guile
deleted file mode 120000 (symlink)
index 5631f4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-base.test-guile
\ No newline at end of file