Index: client.scm ================================================================== --- client.scm +++ client.scm @@ -1,14 +1,22 @@ ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . ;;====================================================================== ;; C L I E N T S ;;====================================================================== Index: common.scm ================================================================== --- common.scm +++ common.scm @@ -1,14 +1,23 @@ ;;====================================================================== ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== (use srfi-1 data-structures posix regex-case (prefix base64 base64:) format dot-locking csv-xml z3 ;; sql-de-lite hostinfo md5 message-digest typed-records directory-utils stack Index: configf.scm ================================================================== --- configf.scm +++ configf.scm @@ -1,14 +1,23 @@ ;;====================================================================== ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== ;;====================================================================== ;; Config file handling ;;====================================================================== Index: dashboard-context-menu.scm ================================================================== --- dashboard-context-menu.scm +++ dashboard-context-menu.scm @@ -1,14 +1,23 @@ ;;====================================================================== ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== ;;====================================================================== ;; implementation of context menu that pops up on ;; right click on test cell in Runs & Runs Summary Tabs Index: dashboard-tests.scm ================================================================== --- dashboard-tests.scm +++ dashboard-tests.scm @@ -1,14 +1,23 @@ ;;====================================================================== ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== ;;====================================================================== ;; Test info panel ;;====================================================================== Index: datashare.scm ================================================================== --- datashare.scm +++ datashare.scm @@ -1,14 +1,22 @@ ;; Copyright 2006-2013, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . (use ssax) (use sxml-serializer) (use sxml-modifications) (use regex) Index: db_records.scm ================================================================== --- db_records.scm +++ db_records.scm @@ -1,5 +1,20 @@ +;; 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 . + ;;====================================================================== ;; dbstruct ;;====================================================================== ;; Index: env.scm ================================================================== --- env.scm +++ env.scm @@ -1,14 +1,23 @@ ;;====================================================================== ;; Copyright 2006-2013, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== (declare (unit env)) (use sql-de-lite) ;; srfi-1 posix regex regex-case srfi-69 srfi-18 call-with-environment-variables) Index: fdb_records.scm ================================================================== --- fdb_records.scm +++ fdb_records.scm @@ -1,5 +1,20 @@ +;; 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 . + ;; Single record for managing a filedb ;; make-vector-record "Filedb record" filedb fdb db dbpath pathcache idcache partcache ;; Filedb record (define (make-filedb:fdb)(make-vector 5)) (define-inline (filedb:fdb-get-db vec) (vector-ref vec 0)) Index: fs-transport.scm ================================================================== --- fs-transport.scm +++ fs-transport.scm @@ -1,14 +1,22 @@ ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . (require-extension (srfi 18) extras tcp s11n) (use sqlite3 srfi-1 posix regex regex-case srfi-69 hostinfo md5 message-digest) (import (prefix sqlite3 sqlite3:)) Index: ftail.scm ================================================================== --- ftail.scm +++ ftail.scm @@ -1,14 +1,23 @@ ;;====================================================================== ;; Copyright 2017, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== (declare (unit ftail)) (module ftail Index: genexample.scm ================================================================== --- genexample.scm +++ genexample.scm @@ -1,14 +1,23 @@ ;;====================================================================== ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== (declare (unit genexample)) (use posix regex) Index: gentargets.sh ================================================================== --- gentargets.sh +++ gentargets.sh @@ -1,6 +1,21 @@ #!/bin/bash +# 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 . + echo '[v1.63/tip/dev]' echo 'x 1' echo '[v1.64/tip/dev]' echo 'x 1' Index: get-config-settings.sh ================================================================== --- get-config-settings.sh +++ get-config-settings.sh @@ -1,2 +1,17 @@ +# 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 . + grep configf:lookup *.scm | sed 's/^.*:lookup//; s/^-number//; s/^ //' | grep -v '^\(section\|test-conf\|tconfig\|testconfig\|dat\|config\|views-cfgdat\)' | perl -pe 's/^\s*(\*configdat\*|configdat|mtconf)//; s/^\s+//; s/\).*$//; s/"//g' | awk '{print $1,$2}' | sort | grep -v section | sort | uniq Index: http-transport.scm ================================================================== --- http-transport.scm +++ http-transport.scm @@ -1,14 +1,22 @@ ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . (require-extension (srfi 18) extras tcp s11n) (use srfi-1 posix regex regex-case srfi-69 hostinfo md5 message-digest posix-extras) Index: items.scm ================================================================== --- items.scm +++ items.scm @@ -1,14 +1,22 @@ ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . ;; (define itemdat '((ripeness "green ripe overripe") ;; (temperature "cool medium hot") ;; (season "summer winter fall spring"))) Index: key_records.scm ================================================================== --- key_records.scm +++ key_records.scm @@ -1,14 +1,23 @@ ;;====================================================================== ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== (define-inline (keys->valslots keys) ;; => ?,?,? .... (string-intersperse (map (lambda (x) "?") keys) ",")) Index: launch.scm ================================================================== --- launch.scm +++ launch.scm @@ -1,14 +1,22 @@ ;; Copyright 2006-2017, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . ;;====================================================================== ;; launch a task - this runs on the originating host, tests themselves ;; ;;====================================================================== Index: margs.scm ================================================================== --- margs.scm +++ margs.scm @@ -1,13 +1,22 @@ ;; Copyright 2007-2010, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. -;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; 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 . + (declare (unit margs)) ;; (declare (uses common)) (define args:arg-hash (make-hash-table)) Index: minimt/direct.scm ================================================================== --- minimt/direct.scm +++ minimt/direct.scm @@ -1,5 +1,20 @@ +;; 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 . + ;; direct API, call the db calls directly (define rmt:create-run (statwrap 'create-run create-run)) (define rmt:create-step (statwrap 'create-step create-step)) (define rmt:create-test (statwrap 'create-test create-test)) (define rmt:get-test-id (statwrap 'get-test-id get-test-id)) Index: minimt/queued.scm ================================================================== --- minimt/queued.scm +++ minimt/queued.scm @@ -1,5 +1,19 @@ +;; 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 . (use nanomsg defstruct srfi-18) ;;====================================================================== ;; Commands Index: mlaunch.scm ================================================================== --- mlaunch.scm +++ mlaunch.scm @@ -1,13 +1,21 @@ ;; Copyright 2006-2014, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . ;; strftime('%m/%d/%Y %H:%M:%S','now','localtime') ;;====================================================================== ;; MLAUNCH Index: monitor.scm ================================================================== --- monitor.scm +++ monitor.scm @@ -1,13 +1,21 @@ ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . ;; strftime('%m/%d/%Y %H:%M:%S','now','localtime') (use sqlite3 srfi-1 posix regex regex-case srfi-69 dot-locking) (import (prefix sqlite3 sqlite3:)) Index: newdashboard.scm ================================================================== --- newdashboard.scm +++ newdashboard.scm @@ -1,25 +1,23 @@ -;;====================================================================== -;; Copyright 2006-2013, Matthew Welland. -;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. -;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. -;;====================================================================== - ;;====================================================================== ;; Copyright 2006-2016, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== (use format) (use (prefix iup iup:)) Index: oldsrc/debugger.scm ================================================================== --- oldsrc/debugger.scm +++ oldsrc/debugger.scm @@ -1,5 +1,20 @@ +;; 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 . + (use iup) (define *debugger-control* #f) (define *debugger-rownum* 0) (define *debugger-matrix* #f) Index: oldsrc/multi-dboard.scm ================================================================== --- oldsrc/multi-dboard.scm +++ oldsrc/multi-dboard.scm @@ -1,14 +1,22 @@ ;;====================================================================== ;; Copyright 2006-2013, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . ;;====================================================================== (use format numbers sql-de-lite srfi-1 posix regex regex-case srfi-69 srfi-18 call-with-environment-variables) (require-library iup) (import (prefix iup iup:)) Index: oldsrc/nmsg-transport.scm ================================================================== --- oldsrc/nmsg-transport.scm +++ oldsrc/nmsg-transport.scm @@ -1,14 +1,23 @@ ;; Copyright 2006-2012, 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. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + (require-extension (srfi 18) extras tcp s11n) (use sqlite3 srfi-1 posix regex regex-case srfi-69 hostinfo md5 message-digest) (import (prefix sqlite3 sqlite3:)) Index: portlogger-example.scm ================================================================== --- portlogger-example.scm +++ portlogger-example.scm @@ -1,4 +1,19 @@ +;; 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 . + (declare (uses portlogger)) (print (apply portlogger:main (cdr (argv)))) Index: process.scm ================================================================== --- process.scm +++ process.scm @@ -1,14 +1,23 @@ ;;====================================================================== ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== ;;====================================================================== ;; Process convience utils ;;====================================================================== Index: records-vs-vectors-vs-coops.scm ================================================================== --- records-vs-vectors-vs-coops.scm +++ records-vs-vectors-vs-coops.scm @@ -1,5 +1,20 @@ +;; 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 . + ;; (include "vg.scm") ;; (declare (uses vg)) (use foof-loop defstruct coops) Index: records.sh ================================================================== --- records.sh +++ records.sh @@ -1,7 +1,22 @@ #! /bin/bash +# 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 . + # extents caches extents calculated on draw # proc is called on draw and takes the obj itself as a parameter # attrib is an alist of parameters # libs: hash of name->lib, insts: hash of instname->inst # Index: rmtdb.scm ================================================================== --- rmtdb.scm +++ rmtdb.scm @@ -1,11 +1,20 @@ ;;====================================================================== ;; Copyright 2006-2013, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== Index: runconfig.scm ================================================================== --- runconfig.scm +++ runconfig.scm @@ -1,5 +1,20 @@ +;; 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 . + ;;====================================================================== ;; read a config file, loading only the section pertinent ;; to this run field1val/field2val/field3val ... ;;====================================================================== Index: runs.scm ================================================================== --- runs.scm +++ runs.scm @@ -1,14 +1,22 @@ ;; Copyright 2006-2016, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . ;; strftime('%m/%d/%Y %H:%M:%S','now','localtime') (use (prefix sqlite3 sqlite3:) srfi-1 posix regex regex-case srfi-69 (srfi 18) posix-extras directory-utils pathname-expand typed-records format) Index: sauth-common.scm ================================================================== --- sauth-common.scm +++ sauth-common.scm @@ -1,5 +1,20 @@ +;; 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 . + ;; Create the sqlite db (define (sauthorize:db-do proc) (if (or (not *db-path*) (not (file-exists? *db-path*))) Index: sdb.scm ================================================================== --- sdb.scm +++ sdb.scm @@ -1,14 +1,23 @@ ;;====================================================================== ;; Copyright 2006-2013, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== ;;====================================================================== ;; Simple persistant strings lookup table. Keep out of the main db ;; so writes/reads don't slow down central access. Index: sharedat.scm ================================================================== --- sharedat.scm +++ sharedat.scm @@ -1,14 +1,23 @@ ;; Copyright 2006-2013, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + (use defstruct) ;; (use ssax) ;; (use sxml-serializer) Index: spublish.scm ================================================================== --- spublish.scm +++ spublish.scm @@ -1,14 +1,22 @@ ;; Copyright 2006-2013, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . (use defstruct) (use scsh-process) (use refdb) (use srfi-18) Index: subrun.scm ================================================================== --- subrun.scm +++ subrun.scm @@ -1,14 +1,22 @@ ;; Copyright 2006-2016, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . ;; strftime('%m/%d/%Y %H:%M:%S','now','localtime') (use (prefix sqlite3 sqlite3:) srfi-1 posix regex regex-case srfi-69 (srfi 18) posix-extras directory-utils pathname-expand typed-records format Index: task_records.scm ================================================================== --- task_records.scm +++ task_records.scm @@ -1,14 +1,22 @@ ;;====================================================================== ;; Copyright 2006-2012, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . ;;====================================================================== ;; make-vector-record tasks task id action owner state target name test item params creation_time execution_time (define (make-tasks:task)(make-vector 11)) (define-inline (tasks:task-get-id vec) (vector-ref vec 0)) Index: tcmt.scm ================================================================== --- tcmt.scm +++ tcmt.scm @@ -1,14 +1,22 @@ ;; Copyright 2006-2017, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. -;; +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . + ;;====================================================================== ;; ;; Wrapper to enable running Megatest flows under teamcity ;; ;; 1. Run the megatest process and pass it all the needed parameters Index: test_records.scm ================================================================== --- test_records.scm +++ test_records.scm @@ -1,5 +1,20 @@ +;; 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 . + ;; make-vector-record tests testqueue testname testconfig waitons priority items (define (make-tests:testqueue)(make-vector 7 #f)) (define-inline (tests:testqueue-get-testname vec) (vector-ref vec 0)) (define-inline (tests:testqueue-get-testconfig vec) (vector-ref vec 1)) (define-inline (tests:testqueue-get-waitons vec) (vector-ref vec 2)) Index: tests/ods-test.scm ================================================================== --- tests/ods-test.scm +++ tests/ods-test.scm @@ -1,5 +1,20 @@ +;; 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 . + (load "ods.scm") (ods:list->ods "testing" "testing.ods" Index: trackback.scm ================================================================== --- trackback.scm +++ trackback.scm @@ -1,5 +1,20 @@ +;; 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 . + (include "codescanlib.scm") ;; show call paths for named procedure (define (traceback-proc in-procname) (letrec* ((all-scm-files (glob "*.scm")) Index: utils/Makefile.git.installall ================================================================== --- utils/Makefile.git.installall +++ utils/Makefile.git.installall @@ -1,14 +1,22 @@ # Copyright 2013-2015 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. # -# This program is made available under the GNU GPL version 2.0 or -# greater. See the accompanying file COPYING for details. +# 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. # -# This program is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. +# You should have received a copy of the GNU General Public License +# along with Megatest. If not, see . help : @echo You may need to do the following setup first: @echo @echo sudo apt-get install libreadline-dev Index: utils/Makefile.installall ================================================================== --- utils/Makefile.installall +++ utils/Makefile.installall @@ -1,14 +1,22 @@ # Copyright 2013-2015 Matthew Welland. # -# This program is made available under the GNU GPL version 2.0 or -# greater. See the accompanying file COPYING for details. +# 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. # -# This program is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. +# You should have received a copy of the GNU General Public License +# along with Megatest. If not, see . help : @echo You may need to do the following setup first: @echo @echo sudo apt-get install libreadline-dev Index: utils/Makefile.latest.installall ================================================================== --- utils/Makefile.latest.installall +++ utils/Makefile.latest.installall @@ -1,14 +1,23 @@ # Copyright 2013-2015 Matthew Welland. # -# This program is made available under the GNU GPL version 2.0 or -# greater. See the accompanying file COPYING for details. +# 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. # -# This program is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. +# You should have received a copy of the GNU General Public License +# along with Megatest. If not, see . + help : @echo You may need to do the following setup first: @echo @echo sudo apt-get install libreadline-dev Index: utils/checkPreReqs ================================================================== --- utils/checkPreReqs +++ utils/checkPreReqs @@ -1,6 +1,22 @@ #!/bin/bash + +# 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 . + SYSTEM_TYPE=$(lsb_release -irs |tr ' ' '_' |tr '\n' '-')$(uname -i) file=`/bin/mktemp` case $SYSTEM_TYPE in Ubuntu-17.04-x86_64-std) apt list --installed | cut -d/ -f 1 > $file Index: utils/cleanup-links-dir.sh ================================================================== --- utils/cleanup-links-dir.sh +++ utils/cleanup-links-dir.sh @@ -1,7 +1,22 @@ #!/usr/bin/env bash +# 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 . + export LINKSDIR=$1 export RUNSDIR=$2 if [ "x$LINKSDIR" == "x" ];then echo Usage: cleanup-links-dir /links/dir/path /runs/dir/path Index: utils/cleanup-pkts.sh ================================================================== --- utils/cleanup-pkts.sh +++ utils/cleanup-pkts.sh @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + pushd $1 for x in *.pkt;do if grep 'T configf' $x > /dev/null;then rm $x Index: utils/deploy.sh ================================================================== --- utils/deploy.sh +++ utils/deploy.sh @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + set -x if [[ $DEPLOYTARG == "" ]] ; then echo Installing into deploytarg export DEPLOYTARG=$PWD/deploytarg Index: utils/editwiki ================================================================== --- utils/editwiki +++ utils/editwiki @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + wikiname=$1 FOSSILBIN=fossil if [ x"$wikiname" == "x" ];then echo "Usage: viwiki wikipagename" Index: utils/find-unused-globals.sh ================================================================== --- utils/find-unused-globals.sh +++ utils/find-unused-globals.sh @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + echo "Finding unused globals:" for var in $(egrep '^\s*\(define\s+\*' *.scm|awk '{print $2}'|sort -u);do if ! $(egrep -v '^\s*\(define' *scm| grep "$var" > /dev/null);then echo "$var not used"; Index: utils/homehost_check.sh ================================================================== --- utils/homehost_check.sh +++ utils/homehost_check.sh @@ -1,7 +1,22 @@ #! /bin/bash +# 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 . + #exits 1 when current host is not homehost. if [[ ! -e .homehost ]]; then exit 0 fi Index: utils/installall.logpro ================================================================== --- utils/installall.logpro +++ utils/installall.logpro @@ -1,8 +1,21 @@ ;; (c) 2006,2007,2008,2009 Matthew Welland matt@kiatoa.com ;; -;; License GPL. +;; 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 . ;; first ensure your run at least started ;; (trigger "Body" #/^.*$/) ;; anything starts the body Index: utils/installall.sh ================================================================== --- utils/installall.sh +++ utils/installall.sh @@ -5,16 +5,24 @@ # to chicken install target area. /opt/chicken is a typical value # set -x # Copyright 2007-2014, Matthew Welland. # -# This program is made available under the GNU GPL version 2.0 or -# greater. See the accompanying file COPYING for details. +# 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. # -# This program is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. +# You should have received a copy of the GNU General Public License +# along with Megatest. If not, see . # echo OPTION=$OPTION # BKM for ubuntu 17.04: # sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb Index: utils/installck.sh ================================================================== --- utils/installck.sh +++ utils/installck.sh @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + myhome=$(dirname $0) if [[ $proxy == "" ]]; then echo 'Please set the environment variable "proxy" to host.com:port (e.g. foo.com:1234) to use a proxy' echo PROX="" Index: utils/loadrunner ================================================================== --- utils/loadrunner +++ utils/loadrunner @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + LOADRUNNER=$0 # load=`uptime|awk '{print $10}'|cut -d, -f1` load=$(uptime|perl -pe 's/.*: (\d+.\d+),.*/$1/') load2=$(uptime|perl -pe 's/.*: (\d+.\d+), (\d+.\d+),.*/$2/') Index: utils/loadrunner.scm.notfinished ================================================================== --- utils/loadrunner.scm.notfinished +++ utils/loadrunner.scm.notfinished @@ -1,14 +1,22 @@ ;; Copyright 2006-2013, Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . (use ssax) (use sxml-serializer) (use sxml-modifications) (use regex) Index: utils/lock-stats.sh ================================================================== --- utils/lock-stats.sh +++ utils/lock-stats.sh @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + while IFS=': ' read x x x x p x x i x; do if ! [[ ${i}x == "x" ]];then if ! $(echo $i|grep EOF >/dev/null);then fname=$(find -L "/proc/$p/fd" -maxdepth 1 -inum "$i" -exec readlink {} \; -quit) if $(echo $fname | grep megatest.db > /dev/null) || \ Index: utils/mk_wrapper ================================================================== --- utils/mk_wrapper +++ utils/mk_wrapper @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + prefix=$1 cmd=$2 target=$3 cfgfile="$prefix/bin/.$(lsb_release -sr)/cfg.sh" Index: utils/mt_ezstep ================================================================== --- utils/mt_ezstep +++ utils/mt_ezstep @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + usage="mt_ezstep stepname prevstepname command [args ...]" if [[ "$MT_CMDINFO" == "" ]];then if [[ -e megatest.sh ]];then source megatest.sh Index: utils/mt_laststep ================================================================== --- utils/mt_laststep +++ utils/mt_laststep @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + if [ $MT_CMDINFO == "" ];then echo "ERROR: $0 should be run within a megatest test environment" exit fi Index: utils/mt_runstep ================================================================== --- utils/mt_runstep +++ utils/mt_runstep @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + # Purpose: run a step, record start and end with exit codes # # Call like this: # mt_runstep stepname command .... # Index: utils/mt_xterm ================================================================== --- utils/mt_xterm +++ utils/mt_xterm @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + MT_TMPDISPLAY=$DISPLAY if [ -e megatest.sh ];then source megatest.sh fi export DISPLAY=$MT_TMPDISPLAY Index: utils/mtgetfile ================================================================== --- utils/mtgetfile +++ utils/mtgetfile @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + fullparams="$@" function findfile () { megatest $fullparams -repl <. + # Rollup counts of calls to Megatest from a logging dat file # # Usage: mtrept.sh file [host] if [[ "$2"x != "x" ]];then Index: utils/mtrunner ================================================================== --- utils/mtrunner +++ utils/mtrunner @@ -1,7 +1,22 @@ #! /bin/bash +# 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 . + # Run megatest from within megatest # Usage: mtrunner testsuite_dir megatest_bin_dir command args .... for var in $(env | egrep "^MT_"|cut -d= -f1);do unset ${var} Index: utils/mtrunscript ================================================================== --- utils/mtrunscript +++ utils/mtrunscript @@ -1,17 +1,23 @@ #!/usr/bin/env bash # Copyright 2012, Matthew Welland. -# -# This program is made available under the GNU GPL version 2.0 or -# greater. See the accompanying file COPYING for details. -# -# This program is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. -# -# VERSION: + +# 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 . # set -e # set -u # set -x Index: utils/mtutils.csh ================================================================== --- utils/mtutils.csh +++ utils/mtutils.csh @@ -1,8 +1,23 @@ # Better to use the mt_* snippet scripts in utils # To use the snippets set PREFIX then install with "make installall" +# 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 . + alias mt_runstep 'set argv=(\!*); \ set stepname = $1;shift; \ megatest -runstep $stepname -logpro ${stepname}.logpro "$*" || exit $?' alias mt_laststep 'set argv=(\!*);set stepname = $1;shift; \ Index: utils/nbfake ================================================================== --- utils/nbfake +++ utils/nbfake @@ -1,6 +1,22 @@ #!/bin/bash + +# 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 . + ############################################################################### # # nbfake - capture command output in a logfile # # nbfake behavior can be changed by setting the following env vars: Index: utils/nbfind ================================================================== --- utils/nbfind +++ utils/nbfind @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + # load=`uptime|awk '{print $10}'|cut -d, -f1` load=`uptime|perl -pe 's/.*: (\d+.\d+),.*/$1/'` if which cpucheck > /dev/null;then numcpu=`cpucheck|tail -1|awk '{print $6}'` else Index: utils/remrun ================================================================== --- utils/remrun +++ utils/remrun @@ -6,10 +6,25 @@ # # remrun behavior can be changed by setting the following env var: # NBFAKE_LOG Logfile for nbfake output # ############################################################################### +# +# 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 . if [[ -z "$@" ]]; then cat <<__EOF remrun usage: Index: utils/runner ================================================================== --- utils/runner +++ utils/runner @@ -1,7 +1,22 @@ #!/usr/bin/perl -w +# 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 . + $starthr=`date +%k`; $hrsper = 1; $nexthr=$starthr + $hrsper; $ltr='a'; DELETED utils/trace/trace.import.scm Index: utils/trace/trace.import.scm ================================================================== --- utils/trace/trace.import.scm +++ /dev/null @@ -1,32 +0,0 @@ -;;;; trace.import.scm - GENERATED BY CHICKEN 4.9.0.1 -*- Scheme -*- - -(eval '(import - scheme - chicken - csi - advice - extras - ports - data-structures - (except srfi-1 break) - miscmacros)) -(##sys#register-compiled-module - 'trace - (list) - '((breakpoint . trace#breakpoint) - (trace . trace#trace) - (untrace . trace#untrace) - (break . trace#break) - (unbreak . trace#unbreak) - (trace-output-port . trace#trace-output-port) - (continue . trace#continue) - (c . trace#c) - (traced? . trace#traced?) - (trace-module . trace#trace-module) - (untrace-module . trace#untrace-module) - (trace-verbose . trace#trace-verbose) - (trace/untrace . trace#trace/untrace)) - (list) - (list)) - -;; END OF FILE DELETED utils/trace/trace.meta Index: utils/trace/trace.meta ================================================================== --- utils/trace/trace.meta +++ /dev/null @@ -1,10 +0,0 @@ -;;;; trace.meta -*- Scheme -*- - - -((category tools) - (synopsis "tracing and breakpoints") - (author "felix winkelmann") - (license "public domain") - (needs advice ; don't we all? - miscmacros) - (files "tests/run.scm" "trace.meta" "trace.release-info" "trace.scm" "trace.setup") ) DELETED utils/trace/trace.scm Index: utils/trace/trace.scm ================================================================== --- utils/trace/trace.scm +++ /dev/null @@ -1,259 +0,0 @@ -;;;; trace.scm - - -(module trace (breakpoint - trace untrace - break unbreak - trace-output-port - continue c - traced? - trace-module untrace-module - trace-verbose - trace/untrace) - -(import scheme chicken csi) - -(use advice extras ports data-structures) -(require-library srfi-1) -(import (except srfi-1 break) miscmacros) - - -(define *last-breakpoint* #f) -(define *traced-procedures* '()) -(define *broken-procedures* '()) -(define *trace-indent-level* 0) - -(define trace-output-port (make-parameter (current-output-port))) -(define trace-verbose (make-parameter #t)) - -(define (break-entry name args) - ;; Does _not_ unwind! - (##sys#call-with-current-continuation - (lambda (c) - (let ((exn (##sys#make-structure - 'condition - '(exn breakpoint) - (list '(exn . message) "*** breakpoint ***" - '(exn . arguments) (list (cons name args)) - '(exn . location) name - '(exn . continuation) c) ) ) ) - (set! *last-breakpoint* exn) - (signal exn) ) ) ) ) - -(define (break-resume exn) - (let ((a (member '(exn . continuation) (##sys#slot exn 2)))) - (if a - ((cadr a) (void)) - (error "condition has no continuation" exn) ) ) ) - -(define (breakpoint #!optional (name 'breakpoint)) - (break-entry name '()) ) - -(define (trace-indent) - (let ((port (trace-output-port))) - (do ((i (fxmin 3 *trace-indent-level*) (fx- i 1))) - ((fx<= i 0)) - (write-char #\space port) ) - (fprintf port "[~a] " *trace-indent-level*) ) ) - -(define (traced-procedure-entry name args) - (let ((port (trace-output-port))) - (trace-indent) - (set! *trace-indent-level* (fx+ 1 *trace-indent-level*)) - (write (cons name args) port) - (write ", Called from: " port) - (write (conc (car (reverse (get-call-chain))))) - (write-char #\newline port) - (flush-output port) ) ) - -(define (traced-procedure-exit name results) - (let ((port (trace-output-port))) - (set! *trace-indent-level* (fx- *trace-indent-level* 1)) - (trace-indent) - (fprintf port "~a -> " name) - (if results - (for-each - (lambda (x) - (write x port) - (write-char #\space port) ) - results) - (display "(escaping)" port)) - (write-char #\newline port) - (flush-output port) ) ) - -(define (procedure-name proc) - (cond ((procedure-information proc) => - (lambda (info) - (if (pair? info) (car info) info) ) ) - (else ')) ) - -(define (do-trace procs) - (for-each - (lambda (s) - (ensure procedure? s) - (cond ((traced? s) - (warning "procedure already traced" s) ) - (else - (let ((name (procedure-name s))) - (when (trace-verbose) - (fprintf (current-error-port) "; tracing ~a~%" name)) - (set! *traced-procedures* (cons (cons s name) *traced-procedures*)) - (advise - 'around s - (lambda (next args) - (let ((results #f)) - (dynamic-wind - (cut traced-procedure-entry name args) - (lambda () - (call-with-values (cut apply next args) - (lambda rs - (set! results rs) - (apply values rs)))) - (cut traced-procedure-exit name results)))) - '*trace*))))) - procs) ) - -(define (do-untrace-all) - (define (unadvise* p) - (ignore-errors (unadvise p '*trace*))) - (for-each - (lambda (proc) - (let ((proc (car proc))) - (when (trace-verbose) - (fprintf (current-error-port) "; untracing ~a~%" (procedure-name proc)) - (unadvise* proc)))) - *traced-procedures*) - (set! *traced-procedures* '())) - -(define (do-untrace procs) - (for-each - (lambda (s) - (ensure procedure? s) - (let ((p (assq s *traced-procedures*)) - (name (procedure-name s))) - (cond ((not p) (warning "procedure not traced" name)) - (else - (when (trace-verbose) - (fprintf (current-error-port) "; untracing ~a~%" name)) - (ignore-errors (unadvise s '*trace*)) - (set! *traced-procedures* - (delete - p *traced-procedures* - eq?)))))) - procs) ) - -(define (do-break procs) - (for-each - (lambda (s) - (let ((name (procedure-name s))) - (ensure procedure? s) - (cond ((assq s *broken-procedures*) - (warning "procedure already has break-point" name)) - (else - (when (trace-verbose) - (fprintf (current-error-port) "; setting break-point in ~a~%" name)) - (set! *broken-procedures* (cons (cons s name) *broken-procedures*)) - (advise - 'before s - (lambda (args) - (break-entry name args) ) - '*break*) ) ))) - procs) ) - -(define (do-unbreak procs) - (for-each - (lambda (s) - (ensure procedure? s) - (let ((p (assq s *broken-procedures*)) - (name (procedure-name s))) - (cond ((not p) (warning "procedure has no breakpoint" name)) - (else - (when (trace-verbose) - (fprintf (current-error-port) "; removing break-point in ~a~%" name)) - (ignore-errors (unadvise s '*break*)) - (set! *broken-procedures* (delete p *broken-procedures* eq?) ) ) ) ) ) - procs) ) - -(define (do-unbreak-all) - (for-each - (lambda (bp) - (ignore-errors (unadvise (car bp) '*break*))) - *broken-procedures*) - (set! *broken-procedures* '()) - (void)) - -(define (trace . procs) - (cond ((null? procs) - (when (pair? *traced-procedures*) - (printf "Traced:~%~%") - (for-each (lambda (p) (printf " ~a~%" (cdr p))) *traced-procedures*)) ) - (else - (do-trace procs) ) ) ) - -(define (untrace . procs) - (cond ((null? procs) (do-untrace-all)) - (else (do-untrace procs))) - (void)) - -(define (break . procs) - (cond ((null? procs) - (when (pair? *broken-procedures*) - (printf "Breakpoints:~%~%") - (for-each (lambda (p) (printf " ~a~%" (cdr p))) *broken-procedures*)) ) - (else - (do-break procs) ) ) ) - -(define (unbreak . procs) - (cond ((null? procs) (do-unbreak-all)) - (else (do-unbreak procs)))) - -(define (continue #!optional (bp *last-breakpoint*)) - (cond (*last-breakpoint* - (let ((exn *last-breakpoint*)) - (set! *last-breakpoint* #f) - (break-resume exn) ) ) - (else (display "no breakpoint pending\n") ) ) ) - -(define c continue) - -(define (traced? proc) - (assq proc *traced-procedures*)) - -(define (trace/untrace . procs) - (for-each - (lambda (proc) - ((if (traced? proc) do-untrace do-trace) (list proc))) - procs)) - -(define (walk-module mname proc) - (let* ((m (##sys#find-module mname)) - (exps (nth-value 1 (##sys#module-exports m)))) - (for-each - (lambda (exp) - (let* ((realname (cdr exp)) - (prim (get realname '##core#primitive))) - (if prim - (warning "export is a core-library primitive - not traced" (car exp)) - (when (##sys#symbol-has-toplevel-binding? realname) - (let ((val (##sys#slot realname 0))) - (when (procedure? val) - (proc val))))))) - exps))) - -(define (trace-module . mnames) - (for-each - (lambda (mname) - (walk-module mname trace)) - mnames)) - -(define (untrace-module . mnames) - (for-each - (lambda (mname) - (walk-module - mname - (lambda (proc) - (when (traced? proc) - (do-untrace (list proc)))))) - mnames)) - -) DELETED utils/trace/trace.setup Index: utils/trace/trace.setup ================================================================== --- utils/trace/trace.setup +++ /dev/null @@ -1,9 +0,0 @@ -;;;; trace.setup -*- Scheme -*- - - -(compile -s trace.scm -O3 -d1 -j trace) -(compile -s trace.import.scm -O3 -d0) - -(install-extension - 'trace - '("trace.so" "trace.import.so")) Index: utils/triage.rb ================================================================== --- utils/triage.rb +++ utils/triage.rb @@ -1,7 +1,22 @@ #!/usr/bin/env ruby +# 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 . + #dir = "." #if ARGV.length == 1 # dir = ARGV[0] #end #puts dir Index: utils/unlock_db.sh ================================================================== --- utils/unlock_db.sh +++ utils/unlock_db.sh @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + ## Enh : # 1. if /tmp/repo exists, delte it or name it something else # 2. compare the repo is successfully created ## Usage : Index: utils/viewscreen ================================================================== --- utils/viewscreen +++ utils/viewscreen @@ -1,7 +1,22 @@ #!/bin/bash +# 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 . + if ! type screen &> /dev/null;then xterm -geometry 180x20 -e "$*;echo Press any key to continue;bash -c 'read -n 1 -s'" & exit fi Index: utils/watch-close-wait.sh ================================================================== --- utils/watch-close-wait.sh +++ utils/watch-close-wait.sh @@ -1,5 +1,20 @@ +# 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 . + psline=$(ps -F -u $USER | grep "mtest" |grep " -run " | egrep " -(target|reqtarg) "| head -1) id=$(echo $psline|awk '{print $2}') echo "Watching process for command line: $psline" echo " with PID=$id" while true;do DELETED utils/wip/mtest-dbstop.scm Index: utils/wip/mtest-dbstop.scm ================================================================== --- utils/wip/mtest-dbstop.scm +++ /dev/null @@ -1,12 +0,0 @@ -#!/p/foundry/env/pkgs/chicken/4.10.0_ext/bin/csi -s - -(use chicken) -(use data-structures) - - -(include "/nfs/site/home/bjbarcla/bin2/mtest-repair-lib.scm") -(glib-color-mode 1) - -(set! *this-cmd* "/nfs/site/home/bjbarcla/bin2/mtest-dbstop.scm") -(kill-in-db) - DELETED utils/wip/mtest-diag.scm Index: utils/wip/mtest-diag.scm ================================================================== --- utils/wip/mtest-diag.scm +++ /dev/null @@ -1,165 +0,0 @@ -#!/p/foundry/env/pkgs/chicken/4.10.0_ext/bin/csi -s - -(use chicken) -(use data-structures) - - -(include "/nfs/site/home/bjbarcla/bin2/mtest-repair-lib.scm") -(glib-color-mode 1) - -;;; check mtver in xterm -(let ((mt-ver (do-or-die "megatest -version"))) - (when (member mt-ver '("1.6309-738c" "1.6029")) - (iwarn "This xterm has an older version of megatest.") - (ierr "Please load latest megatest version to proceed.") - (print "eg.: source ../scripts/newrel-setup.csh 1.63/11b") - (exit 3))) - - -;;;; kill netbatch jobs from this megatest -;; TODO! - - -(define *diag* #t) -;;(define *user* (get-environment-variable "USER")) -(define *user* (do-or-die "ls -ld . | awk '{print $3}'")) -(print "user="*user*) -;;;; delete .homehost .homehost.config -;;;; if not on homehost, ssh homehost, cd here, killall mtest dboard -(if (not *diag*) - (when (file-exists? ".homehost.config") - (delete-db ".homehost.config"))) - -(when (file-exists? ".homehost") - (let* ((homehost (with-input-from-file ".homehost" (lambda () (read))))) - (let* ((homehostname (do-or-die "host `cat .homehost` | sed 's/.$//' | awk '{print $NF}' | awk -F. '{print $1}'")) - (thishostname (get-environment-variable "HOST"))) - (when (not (equal? homehostname thishostname)) - (let* ((this-exe-compiled (car (argv))) - (this-exe "/nfs/site/home/bjbarcla/bin2/mtest-diag.scm") - (cmd (conc "ssh "homehostname" 'cd "(get-environment-variable "PWD")" && "this-exe"'"))) - (iwarn "Running on the homehost -- "homehostname) - ;;(iwarn "eg: % ssh "homehostname" 'cd "(get-environment-variable "PWD")" && "(car (argv))"'") - (print "cmd="cmd) - ;;(inote "sleeping for 5 seconds. hit ctrl-c now to run on homehost or wait to proceed.") - (system cmd) - (exit 0)))))) - - - - -;;;; kill megatests and dashboards in this area -(define (kill-mtest-dboard) - (if *diag* - #f - (let* ((this-toppath (pid->cwd (current-process-id))) - (tmppath (toppath->tmppath this-toppath)) - (config (let ((res (conc this-toppath "/megatest.config"))) - (when (not (file-exists? res)) - (ierr "This is not a megatest run area; "res" does not exist. Aborting.") - (exit 2)) - res)) - (mtest-procs (get-my-mtest-procs)) - (dashboard-procs (get-my-dashboard-procs)) - (all-pids (map proc-PID (append mtest-procs dashboard-procs))) - (our-pids (filter (lambda (pid) - (equal? (pid->cwd pid) this-toppath)) - all-pids))) - - (if (null? our-pids) - (inote "No mtest or dboard processes on this host in in this runarea.") - (begin - (iwarn "Killing all megatest and dashboard processes on this host.") - (gracefully-kill-pids our-pids))) - ))) - -(kill-mtest-dboard) - - -;;;; delete /tmp/.$USER-portlogger.db -(let ((plfile (conc "/tmp/."*user* "-portlogger.db"))) - - (if (safe-file-exists? plfile) - (if *diag* - (print "plfile exists - "plfile) - (begin - (inote "removing portlogger file") - (system (conc "rm "plfile)))))) - - -;;;; move logs dir aside -(when (not *diag*) - (system (conc "mv logs logs-aside-`date +%s`")) - (system "mkdir logs")) - - -;;;; fixes for dependency diagram -(when (not *diag*) - (inote "Removing dep graph tmp files if they exist") - (system (conc "rm /tmp/."*user*"-*.dot")) - - ;;#ln -s /p/fdk/gwa/$USER/fossil/ext/_ext ext - (let* ((toppath (pid->cwd (current-process-id))) - (flow (car (string-split - (car (reverse (string-split toppath "/"))) - "."))) - (extdir (conc "/p/fdk/gwa/"*user* - "/fossil/ext/"flow"_ext"))) - (when (and (safe-file-exists? extdir) - (not (safe-file-exists? "ext"))) - (inote "Linking in ext dir") - (system (conc "ln -s "extdir" ext"))))) - - -;;;; check for 0 byte megatest{,_ref}.db in tmp. delete them -;;;; check for wal-mode megatest{,_ref}.db in tmp. delete them -(define (repair-dbs) - (let* ((this-toppath (pid->cwd (current-process-id))) - (tmppath (toppath->tmppath this-toppath)) - (golden-mtest-file (conc this-toppath "/megatest.db")) - (golden-mtest-file-ok (check-db "megatest.db")) - (tmp-mtest-file (conc tmppath "/megatest.db")) - (tmp-mtestref-file (conc tmppath "/megatest_ref.db")) - (tmp-mtest-file-ok (check-db tmp-mtest-file)) - (tmp-mtestref-file-ok (check-db tmp-mtestref-file)) - ) -;;;; check for megatest{,_ref}.db in tmp that die on .schema. delete them - (when (safe-file-exists? tmppath) - (if tmp-mtest-file-ok - (inote "tmp megatest db file ok") - (if *diag* - (print "diag: tmp megatest db broken - "tmp-mtest-file) - (delete-db tmp-mtest-file))) - (if tmp-mtestref-file-ok - (inote "tmp megatestref db file ok") - (if *diag* - (print "diag: tmpref megatest db broken - "tmp-mtestref-file) - (delete-db tmp-mtestref-file)))) - -;;;; check for megatest.db - (if golden-mtest-file-ok - (inote "golden megatest db file ok") - (if (not (file-exists? golden-mtest-file)) - (inote "megatest.db not present. Continuing.") - (begin - ;;;; if golden megatest db is broken, stop now! - (ierr "Golden megatest.db is broken. Please delete it or replace it from a backup version in .snapshot. If critical, contact env team to assist.") - (sendmail "bjbarcla" "!!Bad golden megatest.db" this-toppath) - (inote "Backups in .snapshot:") - (system "ls -l .snapshot/*/megatest.db") - (ierr "Not proceeding with any more checks.") - (exit 3)))) - - - - )) - -(repair-dbs) - - - - - - - - DELETED utils/wip/mtest-nbstop.scm Index: utils/wip/mtest-nbstop.scm ================================================================== --- utils/wip/mtest-nbstop.scm +++ /dev/null @@ -1,34 +0,0 @@ -#!/p/foundry/env/pkgs/chicken/4.10.0_ext/bin/csi -s - -(use chicken) -(use data-structures) - - -(include "/nfs/site/home/bjbarcla/bin2/mtest-repair-lib.scm") -(glib-color-mode 1) - -(set! *this-cmd* "/nfs/site/home/bjbarcla/bin2/mtest-nbstop.scm") - -(inote "Killing local mtest/dboard in this run area.") -(kill-mtest-dboard) - -;;;; move logs dir aside -(inote "move logs") -(system (conc "mv logs logs-aside-`date +%s`")) -(system "mkdir logs") - - - -(inote "Killing netbatch mtest jobs launched from this run area.") -(let ((jobcount (kill-mtest-jobs-in-netbatch))) - (when (> jobcount 0) - (inote "Marking in-flight tests killed in db") - (when (db-islocked? "megatest.db") - (iwarn "Unlocking megatest.db") - (db-unlock "megaetest.db")) - (kill-in-db))) - -(inote "Final reaping of mtest/dboard") -(kill-mtest-dboard) - - DELETED utils/wip/mtest-reaper.scm Index: utils/wip/mtest-reaper.scm ================================================================== --- utils/wip/mtest-reaper.scm +++ /dev/null @@ -1,142 +0,0 @@ -#!/p/foundry/env/pkgs/chicken/4.10.0_ext/bin/csi -s - -(use general-lib) -(use typed-records) -(use regex-literals) -(use regex) -(use sql-de-lite) - -(defstruct proc - (USER "") - (PID -1) - (%CPU -1.0) - (%MEM -1.0) - (VSZ -1) - (RSS -1) - (TTY "") - (STAT "") - (START "") - (TIME "") - (COMMAND "")) - -(define (linux-get-process-info-records) - (let* ((raw (do-or-die "/bin/ps auwx")) - (all-lines (string-split raw "\n")) - (lines (cdr all-lines)) ;; skip title lines - (re #/^(\S+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/)) - (filter - proc? - (map - (lambda (line) - (let ((match (string-match re line))) - (if match - (make-proc - USER: (list-ref match 1) - PID: (string->number (list-ref match 2)) - %CPU: (string->number (list-ref match 3)) - %MEM: (string->number (list-ref match 4)) - VSZ: (string->number (list-ref match 5)) - RSS: (string->number (list-ref match 6)) - TTY: (string->number (list-ref match 7)) - STAT: (list-ref match 8) - START: (list-ref match 9) - TIME: (list-ref match 10) - COMMAND: (list-ref match 11)) - #f))) - lines)))) - -(define (get-my-mtest-server-procs) - (let* ((procs (linux-get-process-info-records)) - (my-mtest-procs - (filter - (lambda (a-proc) - (and - (equal? (get-environment-variable "USER") (proc-USER a-proc)) - (string-match #/^.*\/mtest\s+.*-server.*/ (proc-COMMAND a-proc)))) - procs))) - my-mtest-procs)) - - -(define (pid->environ-hash pid) - (let* ((envfile (conc "/proc/"pid"/environ")) - (ht (make-hash-table)) - (rawdata (with-input-from-file envfile read-string)) - (lines (string-split rawdata (make-string 1 #\nul )))) - (for-each - (lambda (line) - (let ((match (string-match #/(^[^=]+)=(.*)/ line))) - (if match - (hash-table-set! ht (list-ref match 1) (list-ref match 2))))) - lines) - ht)) - -(define (pid->cwd pid) - (read-symbolic-link (conc "/proc/"pid"/cwd"))) - -(define (pid->mtest-monitor-db-file pid) - (let* ((env (pid->environ-hash pid)) - (ltdir (hash-table-ref/default env "MT_LINKTREE" #f)) - (radir (hash-table-ref/default env "MT_RUN_AREA_HOME" #f)) - (cwd (pid->cwd pid))) - (let ((res - (cond - (ltdir (conc ltdir "/.db/monitor.db")) - (radir (conc - (do-or-die - (conc "megatest -start-dir "radir" -show-config -section setup -var linktree")) - "/.db/monitor.db")) - (cwd (conc - (do-or-die - (conc "megatest -start-dir "cwd" -show-config -section setup -var linktree")) - "/.db/monitor.db")) - - (else #f)))) - res))) - - - - - -(define (get-mdb-status mdb-file pid) - ;; select state from servers where pid='4465'; - - (cond - ((not (string? mdb-file)) (conc "mdb-file could not be determined for pid " pid ">>"mdb-file )) - ((not (file-exists? mdb-file)) (conc "mdb-file does not exist for pid "pid" : "mdb-file)) - (else - (let ((dbh (open-database mdb-file))) - - (set-busy-handler! dbh 10000) - (let* ((sql-str "select state from servers where pid=?;") - (stm (sql dbh sql-str)) - (alists (query fetch-alists stm (->string pid)))) - (if (null? alists) - "server pid not in monitor.db" - (cdr (car (car alists))))))))) - - -(define (mtest-server-pid->status pid) - (let* ((mdb-file (pid->mtest-monitor-db-file pid))) - (if mdb-file - (get-mdb-status mdb-file pid) - "no monitor.db file could be found" - ))) - - -(define (kill pid) - (print "KILL "pid) - (do-or-die (conc "kill -9 "pid))) - -(define (reap-defunct-mtest-server-pid pid) - (let ((status (mtest-server-pid->status pid))) - (print pid"->"(mtest-server-pid->status pid)) - (if (member status (list "running" "dbprep" "available" "collision")) - (print "pid="pid" in status "status" -- not killing") - (kill pid)))) - -(let* ((procs (get-my-mtest-server-procs)) - (pids (map proc-PID procs)) - ) - - (for-each reap-defunct-mtest-server-pid pids)) - DELETED utils/wip/mtest-repair-lib.scm Index: utils/wip/mtest-repair-lib.scm ================================================================== --- utils/wip/mtest-repair-lib.scm +++ /dev/null @@ -1,508 +0,0 @@ -(use general-lib) -(use typed-records) -(use regex-literals) -(use regex) -(use sql-de-lite) -(use posix) -(use files) -(use s11n) -(use ports) -(use z3) -(use base64) -(use matchable) - - - - -(define (cli-arg arg #!key (default #f) (is-list #f)) - (let* ((temp (skim-cmdline-opts-withargs-by-regex arg))) - (if (> (length temp) 0) - (if is-list - temp - (car temp)) - default))) - -(define (cli-switch arg) - (let ((temp (skim-cmdline-opts-noarg-by-regex arg))) - (if (> (length temp) 0) - (car temp) - #f))) - - - -(defstruct nbjob - pool - jobid - owner - mtver - user - status - cmdline - execute) - -(define (cmdline->execute cmdline) - (let* ((match (string-match ".*-execute\\s+(\\S+)" cmdline))) - (if match - (with-input-from-string (z3:decode-buffer (base64-decode (cadr match))) read) - #f))) - - -(define (nbjob-execute-ref nbjob key #!key (default #f)) - (let ((execute (nbjob-execute nbjob))) - (if (list? execute) - (let* ((match (alist-ref key execute))) - (if match - (if (list? match) (car match) match) - default)) - default))) - -(define (nbjob-process pool nbstatus-line) - (let ((toks (string-split nbstatus-line ","))) - (if (eq? 4 (length toks)) - (if (equal? (list-ref toks 1) "Jobid") - #f - (begin - (let ((res - (make-nbjob - pool: pool - status: (list-ref toks 0) - jobid: (list-ref toks 1) - user: (list-ref toks 2) - cmdline: (list-ref toks 3) - execute: (cmdline->execute (list-ref toks 3)) - ))) - res))) - #f))) - -(define (get-mtest-nb-jobs user nbpools #!key (cmdline-filter "megatest")) - (let* ((res - (apply append - (map (lambda (pool) - (let* (;;(user-filter ".*") - (user-filter user) - (cmd - (conc "nbstatus jobs --tar "pool" --fields status,jobid,user,cmdline --format csv " - "'USER=~\""user-filter - "\"&&cmdline=~\""cmdline-filter"\"'")) - (res (do-or-die cmd))) - (filter nbjob? - (map (lambda (line) - (nbjob-process pool line)) - (string-split res "\n"))))) - nbpools)))) - res)) - -;;(define foo (get-mtest-nb-jobs "bjbarcla" '("pdx_normal" "pdx_critical"))) - -(define (cmdline->execute cmdline) - (let* ((match (string-match ".*-execute\\s+(\\S+)" cmdline))) - (if match - (with-input-from-string (z3:decode-buffer (base64-decode (cadr match))) read) - #f))) - -;;;; kill jobs in netbatch for this area -(define (kill-mtest-jobs-in-netbatch) - (let ((pwd (get-environment-variable "PWD")) - (jobs (get-mtest-nb-jobs (get-environment-variable "USER") '("pdx_normal" "pdx_critical") ))) - - (for-each - (lambda (job) - (let* ((jobid (nbjob-jobid job)) - (pool (nbjob-pool job)) - (status (nbjob-status job)) - (cmd (conc "nbjob --target "pool" remove "jobid))) - ;;(print status) - (print cmd) - (system cmd))) - ;(pp (nbjob->alist job)) - (filter - (lambda (job) - (equal? (nbjob-execute-ref job 'toppath) pwd)) - jobs)) - (length jobs) - - )) - - -;;;; kill megatest jobs in running in netbatch -(define (kill-in-db #!key (megatest_exe "megatest")) - (let* ((all-targ-patt (do-or-die "sqlite3 megatest.db \"select id from keys\" | tr \"\\n1234567890\" \"/%%%%%%%%%%\" | sed 's/\\/$//'")) - ) - (for-each (lambda (state) - (let* ((cmd (conc megatest_exe " -state "state" -set-state-status KILLED,n/a -testpatt % -target "all-targ-patt" -runname %"))) - (print cmd) - (system cmd))) - '("REMOTEHOSTSTART" "LAUNCHED" "RUNNING" "KEEP_TRYING" "PREQ_FAIL")))) - - - -;;;; kill megatests and dashboards in this area running on this host -(define (kill-mtest-dboard) - - (let* ((this-toppath (pid->cwd (current-process-id))) - (tmppath (toppath->tmppath this-toppath)) - (config (let ((res (conc this-toppath "/megatest.config"))) - (when (not (file-exists? res)) - (ierr "This is not a megatest run area; "res" does not exist. Aborting.") - (exit 2)) - res)) - (mtest-procs (get-my-mtest-procs)) - (dashboard-procs (get-my-dashboard-procs)) - (all-pids (map proc-PID (append mtest-procs dashboard-procs))) - (our-pids (filter (lambda (pid) - ;;(print (pid-COMMAND pid)) - (and - (equal? (pid->cwd pid) this-toppath) - - )) - all-pids))) - - (if (null? our-pids) - (inote "No mtest or dboard processes on this host in in this runarea.") - (begin - (iwarn "Killing all megatest and dashboard processes on this host.") - (gracefully-kill-pids our-pids))) - )) - - - -(define (db-mt-version dbpath) - (let* ((cmd (conc "sqlite3 "dbpath" 'select val from metadat where var=\"MEGATEST_VERSION\"'")) - (res (do-or-die cmd))) - res)) - -;; TODO -(define (db-islocked? dbpath) - (let-values (((ec so se) (isys (conc "sqlite3 "dbpath" vacuum")))) - (let* ((message se) - (is-locked (string-match "^.*database is locked.*$" message))) - (inote "dbfile - "dbpath "; message - "message) - is-locked))) - -(define (db-unlock dbpath) - (system (conc "/nfs/site/bjbarcla/bin/unlock_db.sh " dbpath)) - - ;; (let* ((temp-dbpath (conc "/tmp/"(get-environment-variable "USER")"-"(current-process-id)".db"))) - ;; (inote "Unlocking "dbpath) - ;; (do-or-die (conc "cp "dbpath" "temp-dbpath)) - ;; (do-or-die (conc "rm -f "dbpath)) - ;; (let* ((cmd (conc "sqlite3 "temp-dbpath" .dump | sqlite3 "dbpath))) - ;; (inote "Running: "cmd) - ;; (system cmd)) - ;; ;;(do-or-die "sqlite3 "temp-dbpath" .dump | sqlite3 "dbpath) - ;; (if (db-islocked? dbpath) - ;; (begin - ;; (ierr "Could not unlock "dbpath) - ;; (exit 5)) - ;; (inote "Unlocked "dbpath)) - ;; #t) - - ) - - -(define *user* (do-or-die "ls -ld . | awk '{print $3}'")) - -(define (false-on-exception thunk) - (handle-exceptions exn #f (thunk) )) - -(define (safe-file-exists? path-string) - (false-on-exception (lambda () (file-exists? path-string)))) - -(defstruct proc - (USER "") - (PID -1) - (%CPU -1.0) - (%MEM -1.0) - (VSZ -1) - (RSS -1) - (TTY "") - (STAT "") - (START "") - (TIME "") - (COMMAND "")) - -(define (toppath->tmppath toppath) - (let* ((user *user*) - (area (car (string-split - (car (reverse (string-split toppath "/"))) - "."))) - (dotified-path (string-substitute "/" "." toppath "all"))) - (conc "/tmp/" user "/megatest_localdb/" area "/" dotified-path))) - - -(define (delete-db dbfile) - (let* ((db-files (glob (conc dbfile "*")))) - (for-each - (lambda (file) - (inote "delete file " file) - (if (delete-file* file) - (inote "Removed file - " file) - (iwarn "Could Not Remove file - " file)) - ) - db-files))) - -(define (check-db dbfile) - (let* ((has-wal (safe-file-exists? (conc dbfile "-wal"))) - (has-shm (safe-file-exists? (conc dbfile "-shm"))) - (has-journal (safe-file-exists? (conc dbfile "-journal"))) - (has-db (safe-file-exists? dbfile)) - (ok-flag #t)) - (when has-journal - (iwarn "Journal exists - "(conc dbfile "-journal")) - ) - (when has-wal - (set! ok-flag #f) - (iwarn "Wal-mode db exists: "(conc dbfile "-wal"))) - (if (not has-db) - (begin - (inote "db does not exists " dbfile) - (set! ok-flag #f)) - (let* ((db-size (file-size dbfile))) - (inote "db size = " db-size " -- " dbfile) - (when (member db-size (list 0 1024)) - (iwarn "db has bad size - "db-size" -- "dbfile) - (set! ok-flag #f)))) - ok-flag)) - - -(define (linux-get-process-info-records) - (let* ((raw (do-or-die "/bin/ps auwx")) - (all-lines (string-split raw "\n")) - (lines (cdr all-lines)) ;; skip title lines - (re (regexp "^(\\S+)\\s+(\\d+)\\s+(\\S+)\\s+(\\S+)\\s+(\\S+)\\s+(\\S+)\\s+(\\S+)\\s+(\\S+)\\s+(\\S+)\\s+(\\S+)\\s+(.*)$"))) - (filter - proc? - (map - (lambda (line) - (let ((match (string-match re line))) - (if match - (make-proc - USER: (list-ref match 1) - PID: (string->number (list-ref match 2)) - %CPU: (string->number (list-ref match 3)) - %MEM: (string->number (list-ref match 4)) - VSZ: (string->number (list-ref match 5)) - RSS: (string->number (list-ref match 6)) - TTY: (string->number (list-ref match 7)) - STAT: (list-ref match 8) - START: (list-ref match 9) - TIME: (list-ref match 10) - COMMAND: (list-ref match 11)) - #f))) - lines)))) - -(define (get-my-mtest-server-procs) - (let* ((procs (linux-get-process-info-records)) - (my-mtest-procs - (filter - (lambda (a-proc) - (and - (equal? *user* (proc-USER a-proc)) - (string-match "^.*/mtest\\s+.*-server.*" (proc-COMMAND a-proc)))) - procs))) - my-mtest-procs)) - -(define (get-my-mtest-procs) - (let* ((procs (linux-get-process-info-records)) - (my-mtest-procs - (filter - (lambda (a-proc) - (and - (equal? *user* (proc-USER a-proc)) - (string-match "^.*/m(ega)?test .*" (proc-COMMAND a-proc)) - (not (string-match "^.*/mtest-repair.*" (proc-COMMAND a-proc))))) - procs))) - my-mtest-procs)) - -(define (get-my-dashboard-procs) - (let* ((procs (linux-get-process-info-records)) - (my-dboard-procs - (filter - (lambda (a-proc) - (and - (equal? *user* (proc-USER a-proc)) - (string-match "^.*/dboard.*" (proc-COMMAND a-proc)))) - procs))) - my-dboard-procs)) - - -(define (pid->environ-hash pid) - (let* ((envfile (conc "/proc/"pid"/environ")) - (ht (make-hash-table)) - (rawdata (with-input-from-file envfile read-string)) - (lines (string-split rawdata (make-string 1 #\nul )))) - (for-each - (lambda (line) - (let ((match (string-match "(^[^=]+)=(.*)" line))) - (if match - (hash-table-set! ht (list-ref match 1) (list-ref match 2))))) - lines) - ht)) - -(define (pid->cwd pid) - (read-symbolic-link (conc "/proc/"pid"/cwd"))) - -(define (pid->mtest-monitor-db-file pid #!key (megatest_exe "megatest")) - (let* ((env (pid->environ-hash pid)) - (ltdir (hash-table-ref/default env "MT_LINKTREE" #f)) - (radir (hash-table-ref/default env "MT_RUN_AREA_HOME" #f)) - (cwd (pid->cwd pid))) - (let ((res - (cond - (ltdir (conc ltdir "/.db/monitor.db")) - (radir (conc - (do-or-die - (conc megatest_exe " -start-dir "radir" -show-config -section setup -var linktree")) - "/.db/monitor.db")) - (cwd (conc - (do-or-die - (conc megatest_exe " -start-dir "cwd" -show-config -section setup -var linktree")) - "/.db/monitor.db")) - - (else #f)))) - res))) - - - - - -(define (get-mdb-status mdb-file pid) - ;; select state from servers where pid='4465'; - - (cond - ((not (string? mdb-file)) (conc "mdb-file could not be determined for pid " pid ">>"mdb-file )) - ((not (safe-file-exists? mdb-file)) (conc "mdb-file does not exist for pid "pid" : "mdb-file)) - (else - (let ((dbh (open-database mdb-file))) - - (set-busy-handler! dbh 10000) - (let* ((sql-str "select state from servers where pid=?;") - (stm (sql dbh sql-str)) - (alists (query fetch-alists stm (->string pid)))) - (if (null? alists) - "server pid not in monitor.db" - (cdr (car (car alists))))))))) - - -(define (mtest-server-pid->status pid) - (let* ((mdb-file (pid->mtest-monitor-db-file pid))) - (if mdb-file - (get-mdb-status mdb-file pid) - "no monitor.db file could be found" - ))) - - -(define (gracefully-kill-pids pids) - (for-each (lambda (pid) - (print "kill "pid) - (system (conc "kill "pid))) - pids) - (sleep 5) - (let* ((procs-left (linux-get-process-info-records)) - (pids-left (map proc-PID procs-left))) - (for-each (lambda (pid) - (when (member pid pids-left) - (print "kill -9"pid) - (system (conc "kill -9 "pid)))) - pids))) - - - -(define (kill pid) - (print "KILL "pid) - (do-or-die (conc "kill -9 "pid))) - -(define (reap-defunct-mtest-server-pid pid) - (let ((status (mtest-server-pid->status pid))) - (print pid"->"(mtest-server-pid->status pid)) - (if (member status (list "running" "dbprep" "available" "collision")) - (print "pid="pid" in status "status" -- not killing") - (kill pid)))) - -;; (let* ((procs (get-my-mtest-server-procs)) -;; (pids (map proc-PID procs)) -;; ) - -;; (for-each reap-defunct-mtest-server-pid pids)) - - - -(define (mtdbver->mtrelver mtdbver) - (let* ((table-alist '( - ("1.5402" . "1.54/02") - ("1.5406" . "1.54/05") - ("1.5408" . "1.54/07") - ("1.5409" . "1.54/09") - ("1.5412" . "1.54/12") - ("1.5413" . "1.54/13") - ("1.5414" . "1.54/14") - ("1.5415" . "1.54/15") - ("1.5416" . "1.54/16") - ("1.5417" . "1.54/17") - ("1.5418" . "1.54/18") - ("1.5419" . "1.54/19") - ("1.5421" . "1.54/21") - ("1.5411" . "1.54/support-for-skip") - ("1.5522" . "1.55/22") - ("1.5523" . "1.55/23") - ("1.5524" . "1.55/24") - ("1.5525" . "1.55/25") - ("1.6001" . "1.60/01") - ("1.6002" . "1.60/02") - ("1.6003" . "1.60/03") - ("1.6004" . "1.60/04") - ("1.6005" . "1.60/05") - ("1.6006" . "1.60/06") - ("1.6007" . "1.60/07") - ("1.6008" . "1.60/08") - ("1.6009" . "1.60/09") - ("1.6009" . "1.60/11") - ("1.6012" . "1.60/12") - ("1.6013" . "1.60/13") - ("1.6014" . "1.60/14") - ("1.6015" . "1.60/15") - ("1.6016" . "1.60/16") - ("1.6017" . "1.60/17") - ("1.6018" . "1.60/18") - ("1.6019" . "1.60/19") - ("1.6021" . "1.60/21") - ("1.6022" . "1.60/22") - ("1.6023" . "1.60/23") - ("1.6024" . "1.60/24") - ("1.6025" . "1.60/25") - ("1.6026" . "1.60/26") - ("1.6027" . "1.60/27") - ("1.6028" . "1.60/28") - ;;("1.6029" . "1.60/29") - ("1.6029" . "1.60/29a") - ("1.6031" . "1.60/31") - ("1.6101" . "1.61/01") - ("1.6101" . "1.61/01a") - ("1.6102-c2ba" . "1.61/02") - ("1.6103-3e88" . "1.61/03") - ("1.6104-ee53" . "1.61/04") - ("1.6105-232b" . "1.61/05") - ("1.6201-e652" . "1.62/01") - ("1.6204-c74d" . "1.62/04") - ("1.6205-aff0" . "1.62/05") - ("1.6207-6f59" . "1.62/07") - ("1.6301-fbf0" . "1.63/01") - ("1.6302-da4a" . "1.63/02") - ("1.6303-aa5f" . "1.63/03") - ("1.6304-fa49" . "1.63/04") - ("1.6305-a03b" . "1.63/05") - ("1.6306-7a12" . "1.63/06") - ("1.6307-fb5d" . "1.63/07") - ("1.6308-35e0" . "1.63/08") - ("1.6309-738c" . "1.63/09") - ("1.6309-880c" . "1.63/09a") - ("1.6309-b566" . "1.63/09b") - ("1.6311-fb43" . "1.63/11") - ("1.6311-fb43" . "1.63/11b") - ("1.6311-8a6c" . "1.63/11b") - ("1.6402-03c5" . "1.64/02") - ) - ) - (res (alist-ref mtdbver table-alist equal?))) - res)) - DELETED utils/wip/mtest-repair.scm Index: utils/wip/mtest-repair.scm ================================================================== --- utils/wip/mtest-repair.scm +++ /dev/null @@ -1,139 +0,0 @@ -#!/p/foundry/env/pkgs/chicken/4.10.0_ext/bin/csi -s - -(use chicken) -(use data-structures) - - -(include "/nfs/site/home/bjbarcla/bin2/mtest-repair-lib.scm") -(glib-color-mode 1) - -;;(define this-cmd (car (argv))) -(define this-cmd "/nfs/site/home/bjbarcla/bin2/mtest-repair.scm") - -;;; check mtver in xterm - -;; note - 11b is 1.6311-fb43 -(let ((mt-ver (do-or-die "megatest -version"))) - (when (member mt-ver '("1.6309-738c" "1.6029" "1.6309-b566")) - (iwarn "This xterm has an older version of megatest.") - (ierr "Please load latest megatest version to proceed.") - (print "eg.: source ../scripts/newrel-setup.csh 1.63/11b") - (exit 3))) - - -;;;; kill netbatch jobs from this megatest -;;(kill-mtest-dboard) -;;(system "/nfs/site/home/bjbarcla/bin2/mtest-nbstop.scm") - - -;;;; delete .homehost .homehost.config -;;;; if not on homehost, ssh homehost, cd here, killall mtest dboard -(when (file-exists? ".homehost.config") - (delete-db ".homehost.config")) - -(when (file-exists? ".homehost") - (let* ((homehost (with-input-from-file ".homehost" (lambda () (read))))) - (let* ((homehostname (do-or-die "host `cat .homehost` | sed 's/.$//' | awk '{print $NF}' | awk -F. '{print $1}'")) - (thishostname (get-environment-variable "HOST"))) - (when (not (equal? homehostname thishostname)) - (iwarn "Please also run this on the homehost -- "homehostname) - - (iwarn "eg: % ssh "homehostname" 'cd "(get-environment-variable "PWD")" && "this-cmd"'") - (print "") - (inote "sleeping for 5 seconds. hit ctrl-c now to run on homehost or wait to proceed.") - (sleep 5))))) - - - - - -(kill-mtest-dboard) - - -;;;; delete /tmp/.$USER-portlogger.db -(let ((plfile (conc "/tmp/."(get-environment-variable "USER") "-portlogger.db"))) - (when (safe-file-exists? plfile) - (inote "removing portlogger file") - (system (conc "rm "plfile)))) - - -;;;; move logs dir aside -(system (conc "mv logs logs-aside-`date +%s`")) -(system "mkdir logs") - -;;;; fixes for dependency diagram -(inote "Removing dep graph tmp files if they exist") -(system (conc "rm /tmp/."(get-environment-variable "USER")"-*.dot")) - -;;#ln -s /p/fdk/gwa/$USER/fossil/ext/_ext ext -(let* ((toppath (pid->cwd (current-process-id))) - (flow (car (string-split - (car (reverse (string-split toppath "/"))) - "."))) - (extdir (conc "/p/fdk/gwa/"(get-environment-variable "USER") - "/fossil/ext/"flow"_ext"))) - (when (and (safe-file-exists? extdir) - (not (safe-file-exists? "ext"))) - (inote "Linking in ext dir") - (system (conc "ln -s "extdir" ext")))) - - -;;;; check for 0 byte megatest{,_ref}.db in tmp. delete them -;;;; check for wal-mode megatest{,_ref}.db in tmp. delete them -(define (repair-dbs) - (let* ((this-toppath (pid->cwd (current-process-id))) - (tmppath (toppath->tmppath this-toppath)) - (golden-mtest-file (conc this-toppath "/megatest.db")) - (golden-mtest-file-ok (check-db "megatest.db")) - (tmp-mtest-file (conc tmppath "/megatest.db")) - (tmp-mtestref-file (conc tmppath "/megatest_ref.db")) - (tmp-mtest-file-ok (check-db tmp-mtest-file)) - (tmp-mtestref-file-ok (check-db tmp-mtestref-file)) - (alldbs (list tmp-mtest-file tmp-mtestref-file golden-mtest-file)) - ) -;;;; check for megatest{,_ref}.db in tmp that die on .schema. delete them - (when (safe-file-exists? tmppath) - (if tmp-mtest-file-ok - (inote "tmp megatest db file ok") - (delete-db tmp-mtest-file)) - (if tmp-mtestref-file-ok - (inote "tmp megatestref db file ok") - (delete-db tmp-mtestref-file))) - - ;;;;; check for locked dbs - (for-each (lambda (dbfile) - (let* ((locked (db-islocked? dbfile))) - (if (db-islocked? dbfile) - (begin - (iwarn "db locked - "dbfile) - (db-unlock dbfile)) - (inote "db not locked - "dbfile)))) - alldbs) - -;;;; check for megatest.db - (if golden-mtest-file-ok - (inote "golden megatest db file ok") - (if (not (file-exists? golden-mtest-file)) - (inote "megatest.db not present. Continuing.") - (begin - ;;;; if golden megatest db is broken, stop now! - (ierr "Golden megatest.db is broken. Please delete it or replace it from a backup version in .snapshot. If critical, contact env team to assist.") - (sendmail "bjbarcla" "!!Bad golden megatest.db" this-toppath) - (inote "Backups in .snapshot:") - (system "ls -l .snapshot/*/megatest.db") - (ierr "Not proceeding with any more checks.") - (exit 3)))) - )) - -;; TODO: check for and fix locked megatest.db and locked monitor.db (ritika working on) - - -(repair-dbs) - - - - - - - - Index: vg.scm ================================================================== --- vg.scm +++ vg.scm @@ -1,14 +1,22 @@ ;; ;; Copyright 2016 Matthew Welland. ;; -;; This program is made available under the GNU GPL version 2.0 or -;; greater. See the accompanying file COPYING for details. +;; 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. ;; -;; This program is distributed WITHOUT ANY WARRANTY; without even the -;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -;; PURPOSE. +;; You should have received a copy of the GNU General Public License +;; along with Megatest. If not, see . ;; strftime('%m/%d/%Y %H:%M:%S','now','localtime') (use typed-records srfi-1) Index: widgets.scm ================================================================== --- widgets.scm +++ widgets.scm @@ -1,5 +1,20 @@ +;; 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 . + (require-library srfi-4 iup) (import srfi-4 iup iup-pplot iup-glcanvas) ;; iup-web (define (popup dlg . args) (apply show dlg #:modal? 'yes args)