#! /bin/sh # -*-scheme-*- if [ "$MES" != guile ]; then MES_BOOT=boot-02.scm exec ${MES-bin/mes} < $0 fi exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests boot)' -s "$0" "$@" !# ;;; -*-scheme-*- ;;; GNU Mes --- Maxwell Equations of Software ;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Mes. ;;; ;;; GNU 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. ;;; ;;; GNU 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 GNU Mes. If not, see . (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) (pass-if-eq "begin" 3 (begin 'a 'b (+ 1 2))) (define *top-define-a* '*top-define-a*) (begin (define *top-begin-define-a* '*top-begin-define-a*)) (pass-if-eq "top define " '*top-define-a* *top-define-a*) (pass-if "eq?" (eq? 0 '0)) (pass-if-eq "if" 'true (if #t 'true)) (pass-if-eq "if 2" *unspecified* (if #f #f)) (pass-if-eq "if 3" 'true (if #t 'true)) (pass-if-eq "if 4" 'true (if (eq? 0 '0) 'true)) (pass-if-eq "if 5" 'false (if (= 1 2) 'true 'false)) (pass-if-eq "append2 1" '0 (append2 '() 0)) (pass-if-eq "append2 3" 0 (append 0)) (pass-if-eq "append2 4" 'cons (append2 (cdr '(c)) (car '(cons)))) (result 'report)