#! /bin/sh # -*-scheme-*- MES=${MES-$(dirname $0)/../src/mes} #export MES_ARENA=${MES_ARENA-40000} $MES $MES_FLAGS "$@" < $0 exit $? !# ;;; -*-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 . (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)