#! /bin/sh # -*-scheme-*- exec ${MES-src/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests catch)' -s "$0" "$@" !# ;;; -*-scheme-*- ;;; Mes --- Maxwell Equations of Software ;;; Copyright © 2016 Jan (janneke) Nieuwenhuizen ;;; ;;; 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 . (define-module (tests base) #:use-module (mes mes-0) #:use-module (mes test)) (mes-use-module (mes catch)) (mes-use-module (mes test)) (pass-if "first dummy" #t) (pass-if-not "second dummy" #f) (pass-if-equal "catch" 789 (catch #t (lambda () (throw 'test-exception "foo!") #f) (lambda (key . args) 789))) (define (throw-22) (throw 'twenty-two "hahah")) (pass-if-equal "catch 22" 789 (catch #t (lambda () (throw-22) #f) (lambda (key . args) 789))) (if mes? (pass-if-equal "catch feel" 1 (let ((save-exit exit)) (set! exit (lambda (x) (set! exit save-exit) 1)) (catch 'boo (lambda () (throw-22) 11) (lambda (key . args) 22))))) (result 'report)