;; (c) 2006,2007,2008,2009 Matthew Welland matt@kiatoa.com
;;
;; Copyright 2006-2017, Matthew Welland.
;;
;; This file is part of Megatest.
;;
;; Megatest 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.
;;
;; Megatest 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 Megatest. If not, see <http://www.gnu.org/licenses/>.
;; first ensure your run at least started
;;
(trigger "Body" #/^.*$/) ;; anything starts the body
;; (trigger "EndBody" #/This had better never match/)
(section "Body" "Body" "EndBody")
(trigger "Chicken Build Start" #/^chicken-/)
(trigger "Chicken Build End" #/^make.*Leaving directory.*chicken-4.6.5/)
(section "Chicken build Start" "Chicken build End" "Chicken Build")
(trigger "Eggs Start" #/alias.*http:..chicken/)
(trigger "Eggs End" #/Install sqlite3/)
(section "Eggs" "Eggs Start" "Eggs End")
(for-each (lambda (egg)
(expect:required in "Eggs" > 0 (conc "Require install of " egg) (regexp (conc "installing " egg))))
'(readline apropos base64 regex-literals format regex-case test coops trace))
(expect:ignore in "Body" < 99 "Ignore HAVE_STRERROR" #/define HAVE_STRERROR/)
(expect:ignore in "Body" < 99 "Ignore references to check-errors" #/check-errors/)
(expect:ignore in "Body" < 99 "Ignore references to type-errors" #/type-errors/)
(expect:ignore in "Body" < 99 "Ignore references to srfi-4-errors" #/srfi-4-errors/)
(expect:ignore in "Body" < 99 "Ignore redefinition of imported value bindings" #/Warning: redefinition of imported value binding/)
(expect:ignore in "Body" = 1 "Ignore CD native window driver warning" #/Warning: CD native window driver not found, some bindings cannot be compiled/)
(expect:ignore in "Body" < 99 "Ignore (setup-error-handling)" #/\(setup-error-handling\)/)
(expect:ignore in "Body" < 99 "Ignore install-other-files error" #/make.*install-other-files.*Error.*ignored/)
(expect:ignore in "Body" < 99 "Ignore scheme files with error in name" #/error[a-z\.A-Z0-9\-]*\.(scm|so)/)
(expect:error in "Body" = 0 "WARNING" #/warning/i)
(expect:error in "Body" = 0 "ERROR" (list #/ERROR/ #/error/i)) ;; but disallow any other errors